如何获得一个赛季的记录数

时间:2016-09-15 21:15:14

标签: mysql sql database

我的表格字段为idnamedate_confirm(yyyy-mm-dd h:i:s)。 我希望获得在夏季或冬季确认的记录数量或...... 结果例如:

18|summer 2015

17|Autumn 2015

0|winter 2015

1|spring 2016

如何按列分组?

3 个答案:

答案 0 :(得分:0)

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

您可以将其放入程序正文中,然后根据您的应用定义季节的方式传递您正在寻找的季节的开始和结束。我选择依靠id字段,因为它是唯一一个我可以假设不为空的字段。

答案 1 :(得分:0)

select count(1) ,name
from yourtable
group by name

答案 2 :(得分: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

只需使用您感兴趣的任何季节的开始和结束日期来遵循该模式。