Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何获得一个季节的记录数_Mysql_Sql_Database - Fatal编程技术网

Mysql 如何获得一个季节的记录数

Mysql 如何获得一个季节的记录数,mysql,sql,database,Mysql,Sql,Database,我的表的字段是id、name、date\u confirmyyyy-mm-dd h:i:s。 我想在夏季或冬季或……确认记录的数量。 结果例如: 18 | 2015年夏季 17 | 2015年秋季 0 | 2015年冬季 1 | 2016年春季 如何按列对此进行分组 select count(id) from yourTable where date(date_confirm) between date(seasonBegin) and date(seasonEnd) ; 你可以将其放

我的表的字段是id、name、date\u confirmyyyy-mm-dd h:i:s。 我想在夏季或冬季或……确认记录的数量。 结果例如:

18 | 2015年夏季

17 | 2015年秋季

0 | 2015年冬季

1 | 2016年春季

如何按列对此进行分组

select count(id)
from yourTable
where
    date(date_confirm) between date(seasonBegin) and date(seasonEnd)
;
你可以将其放入程序主体中,然后根据你的应用程序如何定义季节,通过你正在寻找的季节的开始和结束。我选择使用id字段,因为它是唯一一个我可以假定不为null的字段

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

只要使用您感兴趣的任何季节的开始和结束日期,继续遵循这种模式即可。

这是mysql还是sql server?您已标记这两个都是mysql。请提供一些示例数据以及每个季节的开始和结束日期。请将groupby指定给季节名称和年份。这是不正确的。我希望在一个查询中获得结果。也许您应该编辑您的问题以使用单词and,而不是or
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