2017-12-02 41 views
1

我的數據庫擁有「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成一個查詢

謝謝

回答

1

你可以使用:

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)。

+1

完美...非常感謝! – Rik1988

+0

在標記上有十分鐘回答,再次感謝您的快速回復 – Rik1988