Php 复杂查询范围为日期
mySQL日期时间范围查询问题 如何在2017年8月7日等同一日期之前获得2017年proceser的数量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
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');