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

MySQL WEEK():日付範囲内のすべての週を取得します(レコードあり/なし)

    整数のテーブル(`numbers`と呼ばれる)があると仮定します 以下):

       SELECT COALESCE(n, 0) AS num_complaints, CONCAT('Week ', i) AS `week`
         FROM (SELECT i
                 FROM numbers
                WHERE i BETWEEN (SELECT WEEK(MIN(complaintRaisedDate)) FROM events LIMIT 1)
                                AND
                                (SELECT WEEK(MAX(complaintRaisedDate)) FROM events LIMIT 1))
              week_ranges
    LEFT JOIN (  SELECT count(id) AS n, WEEK(complaintRaisedDate) AS weeknum
                   FROM events
                  WHERE categoryId=1
               GROUP BY weeknum) weekly_tallies
           ON week_ranges.i = weekly_tallies.weeknum
     ORDER BY `week` ASC;
    

    SQLフィドル



    1. Grails:列挙型のmysqlフィールドをドメインクラスにマップします

    2. このCOUNTMySQLステートメントの不明な列エラー?

    3. PHP / MySQLで一意のコードを生成しますか?

    4. ベンダー名ごとにチェックアウト詳細グループを表示する