MySQL在同一个表结合不同的计数()
我的数据库拥有“LASTONLINE”时间戳变量时,在用户登录,我想用这个以检索3个值MySQL在同一个表结合不同的计数()
即获得更新[The total amount of users][users online today][users online in the last hour].
我能做的每一声明seperately
SELECT count(u.id) AS usersTotal FROM user u SELECT count(u.id) AS usersDay FROM user u
WHERE u.lastOnline >= now() - INTERVAL 1 DAY
SELECT count(u.id) AS usersHour FROM user u
WHERE u.lastOnline >= now() - INTERVAL 1 HOUR
,但我有麻烦加盟/联合他们的3成一个查询
谢谢
回答:
你可以使用:
SELECT count(u.id) AS usersTotal ,SUM(u.lastOnline >= now() - INTERVAL 1 DAY) AS usersDay
,SUM(u.lastOnline >= now() - INTERVAL 1 HOUR) AS usersHour
FROM user u;
工作原理:
u.lastOnline >= now() - INTERVAL 1 DAY
回真(1)或假(0)。
以上是 MySQL在同一个表结合不同的计数() 的全部内容, 来源链接: utcz.com/qa/258662.html