投票とユーザーの2つのテーブルがあります。その日の総投票数の横に、日付ごとの新規登録ユーザーの総投票数(合計ではない)を表示したいと思います。
クエリの時間枠はすべてにすることができます。後で-から時間枠に追加できます。
したがって、日付Xごとに10票ある場合、新規ユーザーによって生成された場所とリピーターによって生成された数、および新規およびリピーターの数(*投票しなかった新規ユーザーも含む)を知りたいと思います。
投票:
id | vote | user_id | created_at
1 | 30 | 28 | 2012-06-10
1 | 12 | 15 | 2012-06-10
1 | 30 | 28 | 2012-06-10
...
ユーザー:
users_ id | created_at
28 | 2012-06-01
29 | 2012-06-03
30 | 2012-06-10
...
そして私が得ようとしている結果はこれです:
Date | total votes | votes for new | votes for returning | total new users | total returning users
ありがとう!
-----現在のコード:
SELECT
DATE(created_at) AS Date,
SUM(CASE WHEN `Type` = 'Votes' THEN 1 ELSE 0 END) AS 'Total Votes',
SUM(CASE WHEN `Type` = 'Users' THEN 1 ELSE 0 END) AS 'Total Users'
FROM
(
SELECT created_at, 'Votes' `Type` FROM votes
UNION ALL
SELECT created_at, 'Users' FROM users
) t
GROUP by DATE(created_at)
ORDER by DATE(created_at) DESC