SQL由两个字段ASC和DESC排序

时间:2016-06-30 11:38:29

标签: mysql

我需要根据两个字段排序表格的结果:positionupdate_time。允许用户更改position值(通过移动项目),然后重新排序。

但是,当用户移动某个项目时,我只会更新该项目的positionupdate_time,而不会更新所有项目。

table brands
------------------------
id | name         | position | update_time
1    Instagram      2          '2016-06-29 15:41:15'
2    Microsoft      0          '2016-06-30 11:12:13'
3    Twitter        0          '2016-06-30 10:58:57'
4    Stackoverflow  1          '2016-06-30 11:11:52'
5    LinkedIn       0          '2016-06-30 10:41:37'
6    Google         2          '2016-06-30 11:12:40'

我的预期结果:

id | name         | position | update_time
2    Microsoft      0          '2016-06-30 11:12:13'
4    Stackoverflow  1          '2016-06-30 11:11:52'
6    Google         2          '2016-06-30 11:12:40'
3    Twitter        0          '2016-06-30 10:58:57'
5    LinkedIn       0          '2016-06-30 10:41:37'
1    Instagram      2          '2016-06-29 15:41:15'

我使用的查询:

SELECT *
FROM brands
ORDER BY position ASC, update_time DESC

我面临的结果:

id | name         | position | update_time
2    Microsoft      0          '2016-06-30 11:12:13'
3    Twitter        0          '2016-06-30 10:58:57'
5    LinkedIn       0          '2016-06-30 10:41:37'
4    Stackoverflow  1          '2016-06-30 11:11:52'
6    Google         2          '2016-06-30 11:12:40'
1    Instagram      2          '2016-06-29 15:41:15'

证明上述结果的 SQLFiddle

是否有可能通过查询完成我想要的内容,或者每当用户移动一个项目时我是否需要使用新位置更新所有项目?

0 个答案:

没有答案