2013-04-10 101 views
1

我試圖從上週訪問得到一個計數。Mysql查詢得到上週的計數

到現在爲止,我有這方面的工作:

SELECT FROM_UNIXTIME(login),COUNT(*) 
FROM users 
WHERE FROM_UNIXTIME(login) >= (CURDATE() - INTERVAL DAYOFWEEK(CURDATE())+6 DAY) 
GROUP BY DAYOFWEEK(FROM_UNIXTIME(login)); 

結果:

+----------------------+----------+ 
| FROM_UNIXTIME(login) | COUNT(*) | 
+----------------------+----------+ 
| 2013-04-08 12:49:04 |  1 | 
| 2013-04-10 17:29:21 |  2 | 
| 2013-04-05 21:27:00 |  1 | 
+----------------------+----------+ 

問題:

- 表不按日期順序;

- 我想顯示所有7行,即使計數值='0'。

我該如何解決這個問題?提前致謝!

[更新]

排序按日期求解:

ORDER BY FROM_UNIXTIME(login); 

只需出示所有的7行一週!

+0

我不認爲這是有可能得到一排,如果count是0,或者至少不會帶有太複雜的查詢(如果可能的話)。計數是選擇的結果,如果沒有特定日期的記錄,則根本沒有記錄來顯示計數 – 2013-04-10 16:54:36

+0

您需要使用'order by'和'limit'子句 – TNK 2013-04-10 16:55:06

+0

@TNK,謝謝!現在正在工作。只需要弄清楚如何顯示整個星期的所有7行... – 2013-04-10 16:59:45

回答