sql >> データベース >  >> RDS >> Mysql

日、週、月、年ごとの統計を保持するためのデータベース構造

    1日、1週間などのカウントを更新する代わりに、次のようなアクティビティが発生するたびにテーブルに行を挿入するだけです。

    insert into activities (activity_date, activity_info) 
    values (CURRENT_TIMESTAMP, 'whatever');
    

    これで、レポートは次のように非常に単純になります。

    select count(*) from activities
    where activity_date between '2008-01-01' and '2008-01-07';
    

    または

    select YEARWEEK(`activity_date`) as theweek, count(*)
    group by theweek
    


    1. SQLServerのデータベース内のすべてのテーブルを切り捨てる-SQLServer/TSQLチュートリアルパート55

    2. OracleのNLS_UPPER()関数

    3. MySQLはCONCAT条件で選択します

    4. OracleJDBCの断続的な接続の問題