首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL ORDER BY order

MySQL ORDER BY order
EN

Stack Overflow用户
提问于 2012-09-29 07:44:02
回答 5查看 256关注 0票数 0

在MySQL中,这两个查询之间有区别吗?

代码语言:javascript
复制
SELECT * FROM .... ORDER BY Created,Id DESC 

代码语言:javascript
复制
SELECT * FROM .... ORDER BY Created DESC, Id DESC

所需的行为:按"Created“(时间戳)排序(降序),但当两个项目具有相同的"Created”值时,则退回到使用Id排序( desc )。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-09-29 07:47:06

是的,这是有区别的。默认顺序为升序,因此:

代码语言:javascript
复制
SELECT * FROM .... ORDER BY Created,Id DESC 

将按Created升序排序,然后按Id降序排序

代码语言:javascript
复制
SELECT * FROM .... ORDER BY Created DESC, Id DESC

将按Created降序排序,然后按Id降序排序

票数 1
EN

Stack Overflow用户

发布于 2012-09-29 07:46:36

当然这是有区别的。第一个按CREATED按升序排序,如果有多个按ID降序排序。第二个方法首先按CREATED降序排序,如果有多个,则按ID降序排序。

第二个应该做你想做的事情。

(当然,这就回避了一个问题:您为什么不自己试一试呢?)

票数 0
EN

Stack Overflow用户

发布于 2012-09-29 07:47:20

我想第一个不会起作用吧?

你可以这样做

代码语言:javascript
复制
SELECT * FROM .... ORDER BY Created ASC, Id DESC
SELECT * FROM .... ORDER BY Created DESC, Id ASC

但是如果你做不同的操作,它会稍微慢下来。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12648661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档