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

テーブルからのデータと一緒にすべての日付を取得します

    ちなみに、user_profileに参加する必要はありません。

    datesがある場合 関連する日付の表、これは非常に簡単です:

    SELECT dates.day AS `Date`, COUNT(DISTINCT ts.user_id) AS user_count
    FROM dates
    LEFT OUTER JOIN tracked_search AS ts
        ON ts.created = dates.day
    GROUP BY dates.day;
    

    おそらくdatesを持っていないので テーブルを作成して維持したくない場合は、その場で日付のリストを生成するためのソリューションの1つを使用できます。例えば2つの日付の間の日付のリストを取得する または mysqlselectqueryで2つの日付の間の日付のリストを取得する方法

    SELECT dates.day AS `Date`, COUNT(DISTINCT ts.user_id) AS user_count
    FROM (
        SELECT ADDDATE('1970-01-01', t4.i * 10000 + t3.i * 1000 + t2.i * 100 + t1.i * 10 + t0.i) AS day
        FROM (SELECT 0 AS i UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) AS t0,
             (SELECT 0 AS i UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) AS t1,
             (SELECT 0 AS i UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) AS t2,
             (SELECT 0 AS i UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) AS t3,
             (SELECT 0 AS i UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) AS t4
    ) AS dates
    LEFT OUTER JOIN tracked_search AS ts
        ON ts.created = dates.day
    WHERE dates.day >= '2017-10-01'
    AND dates.day < '2017-11-01'
    GROUP BY dates.day;
    


    1. Java-スレッドメインの例外java.lang.Error:未解決のコンパイルの問題

    2. OracleのTZ_OFFSET()関数

    3. MySQLテーブルに行が存在するかどうかをテストするための最良の方法

    4. Integrated Security=TrueとIntegratedSecurity=SSPIの違いは何ですか?