在MySQL中,这两个查询之间有区别吗?
SELECT * FROM .... ORDER BY Created,Id DESC 和
SELECT * FROM .... ORDER BY Created DESC, Id DESC所需的行为:按"Created“(时间戳)排序(降序),但当两个项目具有相同的"Created”值时,则退回到使用Id排序( desc )。
发布于 2012-09-29 07:47:06
是的,这是有区别的。默认顺序为升序,因此:
SELECT * FROM .... ORDER BY Created,Id DESC 将按Created升序排序,然后按Id降序排序
SELECT * FROM .... ORDER BY Created DESC, Id DESC将按Created降序排序,然后按Id降序排序
发布于 2012-09-29 07:46:36
当然这是有区别的。第一个按CREATED按升序排序,如果有多个按ID降序排序。第二个方法首先按CREATED降序排序,如果有多个,则按ID降序排序。
第二个应该做你想做的事情。
(当然,这就回避了一个问题:您为什么不自己试一试呢?)
发布于 2012-09-29 07:47:20
我想第一个不会起作用吧?
你可以这样做
SELECT * FROM .... ORDER BY Created ASC, Id DESC
SELECT * FROM .... ORDER BY Created DESC, Id ASC但是如果你做不同的操作,它会稍微慢下来。
https://stackoverflow.com/questions/12648661
复制相似问题