我在使用MySQL,我有一个表中有一个列(我正在制作一个类到期日期表)。以前我有查询,如下所示:在查询中使用ORDER BY GROUP BY
SELECT * FROM duedates_f2011 ORDER BY anothercolumn
为了防止重复发生(基于交货期列),我不得不改变它,如下所示:
SELECT * FROM duedates_f2011 GROUP BY duedate
目前,它保留了相同的顺序,但我怎么能保证它仍然会这样做呢?我读过的GROUP BY
教程中没有任何内容表示它仍然会对其进行排序,并且之后添加ORDER BY
声明不正确。有什么我错过了,还是有其他我应该添加,以确保它保持秩序?
(在我的标签显示,我使用PHP来运行查询)
'ORDER BY'是你想要的,但它可能不工作,因为与'GROUP BY'相关的其他问题。你可以用两个子句显示你的语句,并指出'SELECT'子句中包含哪些列? – bobs
尽管'GROUP BY'对于MySQL来说是足够的保证和排序,但我认为最好的做法是包含'ORDER BY'子句(它是允许的,并且是明确的文档,您希望在特定请注意,MySQL与其他数据库引擎不同,它们不保证没有ORDER BY子句的查询结果集的排序(例如,我们观察到旧版本的Oracle以GROUP BY顺序返回行,但这是该组操作产生的副作用,而不是保证,后续版本的Oracle不会以GROUP BY顺序返回行)。 – spencer7593