Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.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
Php 复杂查询范围为日期_Php_Mysql_Phpmyadmin - Fatal编程技术网

Php 复杂查询范围为日期

Php 复杂查询范围为日期,php,mysql,phpmyadmin,Php,Mysql,Phpmyadmin,mySQL日期时间范围查询问题 如何在2017年8月7日等同一日期之前获得2017年proceser的数量 1,日期是一个保留的MySQL字。最好将列命名为其他名称,但如果同时指定表名,如table.date 2、不需要子查询。MySQL可以在一个查询中实现这一点 SELECT count(`table.name`) as NUMBER, YEAR(`table.date`) as YR FROM item WHERE DATE(`table.date`) BETWEEN '2017-01-0

mySQL日期时间范围查询问题

如何在2017年8月7日等同一日期之前获得2017年proceser的数量



1,日期是一个保留的MySQL字。最好将列命名为其他名称,但如果同时指定表名,如
table.date

2、不需要子查询。MySQL可以在一个查询中实现这一点

SELECT count(`table.name`) as NUMBER, YEAR(`table.date`) as YR FROM item WHERE DATE(`table.date`) BETWEEN '2017-01-01' AND '2017-12-31'
BETWEEN是一种“三元”运算符,形式为y和z之间的
x

你想要:

`date` BETWEEN '2017-03-15' AND '2017-09-31'

我找不到你的复制品,但我肯定在某处有

如果使用
groupby
DATE\u FORMAT()
函数,则可以
COUNT()
每个组中的出现次数

SELECT COUNT(*),DATE_FORMAT(`date`,'%Y') FROM `item` GROUP BY DATE_FORMAT(`date`,'%Y');

如果需要省略某些时间范围,可以在
分组依据
之前包含
WHERE
子句。

请参见“无我的问题”不同的@AmrEssam How可能的重复?更新您的问题以显示其不同之处。@duaneRortie适当的操作是单击帖子下的“标志”,然后转到“重复…”,在那里发布链接。这标记了问题并允许更快地解决问题。
date
介于'2017-03-15'和'2017-09-31'之间,以及
date
介于'2018-03-15'和'2018-09-31'之间,您需要“或”不需要“和”;一个日期不能在多个不重叠的日期范围内,1-3和3-4中的日期不能超过2个。
`date` BETWEEN '2017-03-15' AND '2017-09-31'
SELECT COUNT(*),DATE_FORMAT(`date`,'%Y') FROM `item` GROUP BY DATE_FORMAT(`date`,'%Y');