Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.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_Database - Fatal编程技术网

Php 按不同列分组和排序

Php 按不同列分组和排序,php,mysql,database,Php,Mysql,Database,如果我对同一列使用group by和order by,排序将按预期工作。但是,我想按一个字段分组,按另一个字段排序。我的发言如下 WHERE item_id= '$item_id' GROUP BY dateofitem ORDER BY millis ASC $results[$i] = array( 'header' =>$ROW['date'],

如果我对同一列使用group by和order by,排序将按预期工作。但是,我想按一个字段分组,按另一个字段排序。我的发言如下

 WHERE item_id= '$item_id'   GROUP BY  dateofitem ORDER BY millis ASC

                $results[$i] = array( 
                        'header' =>$ROW['date'],
                        'count' => $ROW['COUNT(title)'],
                          =>explode(",",$ROW['GROUP_CONCAT(item_id)']),
等等。无论我做什么,我都无法对我的项目进行分组和排序

我的一个分组中的输出如下所示:

"start_time":["06:39:00","08:42:00","09:42:00","01:43:00","20:44:00"],
"start_time":["06:39:00","08:42:00","09:42:00","01:43:00","20:44:00"],"

如果我去掉了“分组依据”和“分组继续”,我就可以毫无问题地进行排序了。

你不能这样做!使用GROUP BY时,除了用于分组的列之外,不能选择其他列,除非对这些列使用一些聚合函数。在这种情况下,您可以在聚合数据上使用ORDER BY。

您是否有示例或资源可供我参考?至少我知道我不能那样做。现在。但是为什么SQL不支持在每个对象中进行排序呢?如果您无法选择数据,那么如何对它们进行排序:)您应该向我们展示您的表以及您想要做的事情,以便我们能够更轻松地找到如何进行排序。实际上,您可以做到这一点。MySQL明确允许将此作为一个示例。它是一个有问题的扩展,因为它允许非确定性(即不可预测的)查询,但它是一个有效的MySQL查询。Oracle允许您使用
OVER()
子句来完成许多聚合函数的相同任务。@Dnaso遇到的问题是因为他的查询是不确定的。让我们假设我有点迷茫,这就是答案。=)那么,我将如何完成我正在尝试做的事情呢?问题是,您需要按照当前数据中可用的其他标准对结果集进行排序。好的,假设您将结果存储在另一个表中,然后使用您想要用于排序的任何条件将其连接起来。是的,两次通过,效率不高。实用性?我实际上只需要使用AS运算符为每个“列”使用昵称。很奇怪,但很有效谢谢您的反馈,非常感谢