Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.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 MySQL按天分组,然后显示分组结果中的日期_Php_Mysql - Fatal编程技术网

Php MySQL按天分组,然后显示分组结果中的日期

Php MySQL按天分组,然后显示分组结果中的日期,php,mysql,Php,Mysql,所以我有一大堆选票进入投票系统。我想显示我在任何一天有多少票。但我还想显示每天的票数,并说出投票日期,即2012年6月5日的24k票,2012年6月6日的27k票 SELECT count(*) AS count FROM results GROUP BY DAY(datesubmitted), YEAR(datesubmitted), MONTH(datesubmitted) ORDER BY DAY(datesubmitted) DESC, YEAR(datesubmitted) DE

所以我有一大堆选票进入投票系统。我想显示我在任何一天有多少票。但我还想显示每天的票数,并说出投票日期,即2012年6月5日的24k票,2012年6月6日的27k票

SELECT count(*) AS count
FROM results 
GROUP BY DAY(datesubmitted), YEAR(datesubmitted), MONTH(datesubmitted) 
ORDER  BY DAY(datesubmitted) DESC, YEAR(datesubmitted) DESC, MONTH(datesubmitted) DESC
是我的问题,我尝试添加如下内容

日(自上次提交日期起)作为订单日


但这只是抛出了一个空值,我觉得这很有趣,因为我预计查询会失败,因为没有任何外部对象。

特定日期的投票数:

SELECT COUNT(*) AS total
FROM results 
WHERE datesubmitted BETWEEN @dateMin AND @dateMax
每一天的投票数:

SELECT COUNT(*) AS total, DATE(datesubmitted) AS day
FROM results 
GROUP BY DATE(datesubmitted)
ORDER BY DATE(datesubmitted) DESC

再次更新

所以刚刚看到了一个新的答案,但对我来说,我是如何让它工作的:

SELECT count(*) AS count, DAY(datesubmitted) AS newday, 
YEAR(datesubmitted) as newyear ,MONTH(datesubmitted) as newmonth
FROM results 
GROUP BY DAY(datesubmitted), YEAR(datesubmitted), MONTH(datesubmitted) 
ORDER  BY  YEAR(datesubmitted) DESC, MONTH(datesubmitted) DESC, DAY(datesubmitted) DESC

通过这种方式,我可以正确地获得年、月、日的正确顺序,并显示日期。我可以把它们收集起来,但那是另一天的事。

你为什么不干脆
按日期分组?此外,如果它遵循与GROUP BY相同的条件,则无需按排序。

您的初始sql查询仅输出“count”。也许你必须包括日()、年()和月()才能得到输出。真的很好,干杯。奇怪的是,我以为我做了这件事,但遗憾的是没有。。。加上我的排序意味着我没有首先得到最新的结果。添加了答案,但得到答案的是你:)酷,很高兴你找到了答案。这将在查询中将每个投票分组为单独的结果。我想把它们组合在一起,显示任何一天的总票数。但是感谢您的反馈:Dcheer fella,第一个查询仍然没有返回任何内容^^^^^^^,显然后面的查询是:)@JamieHutber
@dateMin和@dateMax
是sql参数,如果您不知道如何使用它们,那么只需将其更改为
'05/06/12'和'05/06/12 23:59:59'
(使用服务器区域设置日期格式)-如果那天没有记录,它可能不会返回任何内容,因此只需将其更改为
选择IFNULL(COUNT(*),0)作为总数
@JamieHutber实际上COUNT总是返回一个值(如果没有找到行,则为0),所以忘记IFNULL-您仍然有问题吗?对于
datesubmitted
列,请查看我答案上的注释,你是对的,MySQL在分组时也会排序,但其他数据库不会排序(也不应该,它会降低性能),所以它只是为了完整性而存在的。正如前面所述,原因是我希望按天分组,你的方式将按每秒分组。显然,这不是一整天的投票哦,但是你可以按日期分组(datesubmitted)。