翌月のレコードを繰り返さずに、その月にログインしたユーザーの数を返したいというクエリがあります。
ユーザーが4月と5月にログインした場合、4月のレコードは1つだけ表示されます。これは私がこれまでに持っているものです。
SELECT DISTINCT (a.userid), EXTRACT(MONTH FROM a.loginTime) as month
FROM login_audit a LEFT JOIN user u on u.userid = a.userid
WHERE a.loginTime <= '2012-12-31 11:59:59'
AND a.loginTime >= '2012-01-01 00:00:00'
GROUP BY month
これまでのところ、レコードは戻ってきています
userid month
1 1
2 1
1 2
3 2
このシナリオでは、ユーザー1が1月と2月の両方に登場します。その記録を省略してほしい。それか、それを蓄積してもらいます。そのようです:
また
userid month
1 1
2 1
3 2
または
userid month
1 1
2 1
1 2
2 2
3 2
これが理にかなっていることを願っています。さらに詳しい説明が必要な場合は、私に質問してください。どうもありがとう!