Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.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,我有一个疑问: SELECT * FROM `mfw_navnode` n1 WHERE (n1.node_name='Eby' OR n1.node_name='Lana' OR n1.node_name='MF' OR n1.node_name='Amur' OR n1.node_name='Asin' ) GROUP BY n1.node_name 它还有另一个字段,称为time_added..这基本上是每行的时间..我想按最新添加时间排序节点名称(选择它们)

我有一个疑问:

   SELECT *  FROM `mfw_navnode` n1
    WHERE  (n1.node_name='Eby' OR n1.node_name='Lana'  OR n1.node_name='MF' OR n1.node_name='Amur' OR n1.node_name='Asin' )
    GROUP BY n1.node_name
它还有另一个字段,称为time_added..这基本上是每行的时间..我想按最新添加时间排序节点名称(选择它们)

我该怎么做?每个节点名称都有一个时间。。但我想按每个节点的最新添加时间对其进行分组

我想使用MAX(time_added),然后将其添加到groupby.。但这给了我一个错误

可能的解决办法是什么

SELECT *  FROM `mfw_navnode` n1
WHERE  (n1.node_name='Eby' OR n1.node_name='Lana'  OR n1.node_name='MF' OR n1.node_name='Amur' OR n1.node_name='Asin' )
GROUP BY n1.node_name
ORDER BY n1.time_added DESC
Order by DESC自动首先显示最近创建的订单


Order by DESC自动首先显示最近创建的订单。

如果我理解这个问题,下面可能是您要查找的内容。我不太清楚您是想先订购最新时间还是最后订购(根据需要添加
DESC
):


需要注意的一点是,OP中的查询(包括GROUP BY子句中未包含的字段)是不明确的,并且在大多数SQL实现中是不允许的。

如果我理解这个问题,下面可能是您要查找的内容。我不太清楚您是想先订购最新时间还是最后订购(根据需要添加
DESC
):


需要注意的是,OP中的查询(包括GROUP BY子句中未包含的字段)是不明确的,在大多数SQL实现中是不允许的。

1064-您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解使用near'DESC,n1.node_name ORDER BY n1.time_added DESC LIMIT 0,30'的正确语法,第3行应该是
GROUP BY n1.node_name
而不是
GROUP BY DESC,n1.node_name
-
GROU BY DESC
是一个复制错误,我猜…1064-您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解使用near'DESC,n1.node_name ORDER BY n1.time_added DESC LIMIT 0,30'的正确语法,第3行应该是
GROUP BY n1.node_name
而不是
GROUP BY DESC,n1.node_name
-
GROU BY DESC
是一个复制错误,我猜…@DmitryMakovetskiyd:它的意思是“按选择列表中的第二项排序”。这只是一个快捷方式(可能是一个不好的快捷方式,因为如果您更改了select子句中项目的顺序,但忘记了更新该顺序,则会出现错误)。我将对其进行编辑并适当地为其命名。如果我按时间订购..没有max功能..并按顺序订购,这有关系吗desc@DmitryMakovetskiyd字体嗯。。。这将产生不同的结果。同样,如果不使用聚合
max
,则需要在GROUP BY中包含时间字段,以避免产生不明确的结果。@DmitryMakovetskiyd:它的意思是“按选择列表中的第二项排序”。这只是一个快捷方式(可能是一个不好的快捷方式,因为如果您更改了select子句中项目的顺序,但忘记了更新该顺序,则会出现错误)。我将对其进行编辑并适当地为其命名。如果我按时间订购..没有max功能..并按顺序订购,这有关系吗desc@DmitryMakovetskiyd字体嗯。。。这将产生不同的结果。同样,如果不使用聚合
max
,则需要在GROUP BY中包含时间字段,以避免产生不明确的结果。
SELECT `node_name`,  max(`time`) `maxtime` FROM `mfw_navnode` n1 ...
        GROUP BY node_name order by `maxtime`;