2016-09-15 22 views
-6

我的表格字段是id,name,date_confirm(yyyy-mm-dd h:i:s)。 我想獲得在夏季或冬季確認的記錄數或...。 結果例如:如何獲得一個賽季的記錄數

18|summer 2015

17|Autumn 2015

0|winter 2015

1|spring 2016

如何通過柱該組?

+0

這是MySQL或SQL服務器?你已經標記了 –

+0

這是mysql .. – MJH

+0

提供一些示例數據以及每個季節的開始日期和結束日期 – kbball

回答

0
select count(id) 
from yourTable 
where 
    date(date_confirm) between date(seasonBegin) and date(seasonEnd) 
; 

您可以在過程的身體扔這,然後通過你根據你的應用程序是如何定義的季節尋找本賽季的開始和結束。我選擇了依靠id字段,因爲它是唯一我可以假設爲非null的字段。

+0

這不是真的。我想要在一個查詢中得到結果。 – MJH

+0

也許你應該編輯你的問題來使用這個詞,而不是或 – justindevs

0
select count(1) ,name 
from yourtable 
group by name 
0
SELECT 
SUM(CASE WHEN date_confirm BETWEEN(begindate, enddate)THEN 1 ELSE 0 END) AS Confirmed_Summer2015 
,SUM(CASE WHEN date_confirm BETWEEN(begindate, enddate)THEN 1 ELSE 0 END) AS Confirmed_Autumn2015 
--Keep adding more seasons if needed 
FROM TableName 

而只是一味地使用起止任何季節的日期,你感興趣下面瞭解該模式。