こんにちは私はユーザーイベントを記録するテーブルを持っています。MYSQLは以前にレコーダーを使用したことのないフィールド値を見つける
date | event | userId
2016/09/29 | A | 10
2016/09/29 | A | 3
2016/09/29 | A | 2
2016/09/28 | A | 2
2016/09/28 | B | 2
2016/09/27 | A | 1
2016/09/27 | A | 1
2016/09/27 | B | 1
が、私は現在の月の日ごとにカウントする必要があり、前に見たことがないし、userIdを数(単純化するために、新規ユーザーの数)。
私は、当日の次のクエリを考え出しました。
SELECT DATE(date) AS time, COUNT(DISTINCT userId) AS count FROM event
WHERE DATE(date) = date(now())
AND userId NOT IN (
SELECT DISTINCT userId FROM event WHERE DATE(date) <= DATE_SUB(now(), INTERVAL 1 DAY)
AND userId IS NOT NULL
)
しかし、今月の同じ日に同じ結果を得るための効率的なクエリを見つけることができません。
この1つは私のために働いた、ありがとう。 –