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

月と年あたりの行数をカウントするSQLクエリを作成するにはどうすればよいですか?

    私はvBulletinのデータベース構造に精通していませんが、このようなことを行う必要があります 、ユーザーテーブルに日付/日時/タイムスタンプcreated_dateがあると仮定します またはreg_timestamp MySQLの YEAR() および MONTH()> 機能

    select 
        count(*) as count, 
        year(reg_timestamp) as year 
        month(reg_timestamp) as month
    from users 
    group by year, month;
    

    これにより、これに似たものになります:

    +-------+-------+------+
    | count | month | year |
    +-------+-------+------+
    |     4 |    11 | 2008 | 
    |     1 |    12 | 2008 | 
    |   196 |    12 | 2009 | 
    |   651 |     1 | 2010 | 
    +-------+-------+------+
    

    編集:デイブのコメントについて: vBulletinの日付はUnixtime形式で保存されているようです。この場合、列をFROM_UNIXTIMEでラップするだけです。 読み取り可能なMySQL日付に変換します:

    select 
        count(*) as count, 
        year(from_unixtime(reg_timestamp)) as year 
        month(from_unixtime(reg_timestamp)) as month
    from users 
    group by year, month;
    


    1. mysqlで動的列を選択します

    2. MySQL utf8_general_ciフィールドにある二重エンコードされたUTF-8文字列を修正するにはどうすればよいですか?

    3. Identityのような列ですが、GroupBy基準に基づいています

    4. MySQLの現在の値に基づいてフィールドを更新するにはどうすればよいですか?