2016-12-02 168 views
0

我使用以下SQL查詢從MySQL數據庫獲取數據。每天總結數據的SQL查詢

select 
    classid,start, 
    count(case when classid='Handball' then 1 end) as handball_count 
from signature where classid='Handball' 
group by start 

日期爲例如2016.12.01. 10:51:58格式。

它應該在每天的基礎上,因此例如2016.12.01. 10:51:582016.12.01. 15:51:58不應該是此查詢中的不同條目。我應該如何按天分組?我想每天總結參與者的每項活動,而不是根據參與者的簽名日期分開。

+0

你可以投的日期時間爲日期。 – ZLK

+2

你使用的是MySQL還是SQL Server?而且,這些時間戳看起來不是以任何標準格式。他們是什麼類型的? –

回答

1

你可以試試這個

SELECT count(case when classid='Handball' then 1 end) as handball_count, 
    classid,DATE(start) DateOnly 
FROM signature where classid='Handball' 
GROUP BY DateOnly; 
1

請轉換datetimedate

 SELECT CONVERT(date, date) 
or 
GROUP BY CAST(date AS DATE) 


select 
    classid,CONVERT(date, date), 
    count(case when classid='Handball' then 1 end) as handball_count 
from signature where classid='Handball' 
group by date,classid 
1

我正在考慮start爲您的日期字段,所以可能這可以幫助你。

select 
    classid,CONVERT(start, date), 
    count(case when classid='Handball' then 1 end) as handball_count 
from signature where classid='Handball' 
group by start 

而且您的日期格式不符合標準timestam匹配,所以請看看了點。可能在下面的參考也可以幫助你。

DATE_FORMAT(date,format)

MySQL: CONVERT

STR_TO_DATE()