2013-07-15 61 views
0

我運行下面的查詢和獲取提到的SQL查詢下面的輸出,並說明如下:定製MySQL的輸出

時間戳:其持有的所有日期和時間相關的值的列的名稱。 MyDatabase:數據庫名稱 事件:名稱爲「Events」的另一列的名稱,其中包含諸如FIRST,SECOND,THIRD等各種值。我已經在此提及第一個用於 的便利和清晰。

SELECT count(Timestamp) as COUNT,Timestamp 
FROM MyDatabase 
WHERE EVENTS = "FIRST" GROUP BY Timestamp ; 

例如,我得到的輸出如下:

 COUNT  TIMESTAMP 
___________________________ 
1  1   2013-06-06 11:51:37.0 

2  2   2013-06-06 11:51:39.0 

3  2   2013-06-06 11:51:37.0 

等等....

日期的「次數的長長的名單後2013-06- 06「,日期更改爲」2013-06-07「

上面的輸出是特定於時間的,但我希望它是日期特定的,並以我希望的輸出應爲 爲一個方式記下我的SQL查詢小號如下:

 COUNT  TIMESTAMP 
___________________________ 
1  6   2013-06-06 (Sum of all the "COUNT" values corresponding to the date 2013-06-06) 

2  8   2013-06-10 (Sum of all the "COUNT" values corresponding to the date 2013-06-10) 

你能告訴我可能需要什麼樣的修改,使上述輸出實現?

+0

'GROUP BY DATE(時間戳)'? – eggyal

回答

1

您需要將時間戳轉換爲selectgroup by子句中的日期。在MySQL中,要做到這一點最簡單的方法是用date()功能:

SELECT count(Timestamp) as COUNT, date(Timestamp) 
FROM MyDatabase 
WHERE EVENTS = 'FIRST' 
GROUP BY date(Timestamp) 

如果你很特別希望該日期的格式,你也可以使用date_format()

SELECT count(Timestamp) as COUNT, date_format(Timestamp, '%Y-%m-%d') 
FROM MyDatabase 
WHERE EVENTS = 'FIRST' 
GROUP BY date_format(Timestamp, '%Y-%m-%d')