我有 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