【发布时间】:2018-09-15 15:07:44
【问题描述】:
我有一个有 4 列的表格:
id | m_id | name | value
--------------------
1 | 1 | bed | 3
3 | 1 | bath | 3
2 | 2 | bed | 4
3 | 2 | bath | 2
我想使用value 对结果进行排序,并保持m_id 的顺序。
如果我从name 列按bed DESC 订购,结果应如下所示:
id | m_id | name | value
--------------------
2 | 2 | bed | 4
3 | 2 | bath | 2
1 | 1 | bed | 3
3 | 1 | bath | 3
如果我从name 列中按bath DESC 订购,结果应如下所示:
id | m_id | name | value
--------------------
1 | 1 | bed | 3
3 | 1 | bath | 3
2 | 2 | bed | 4
3 | 2 | bath | 2
无论name 的顺序是否发生变化,我只关心m_id 是否保持顺序。
有什么想法吗?
【问题讨论】:
-
为什么不能使用 ORDER BY value, m_id?
-
因为
m_id不正常 -
我认为你可以使用类似:select id,m_id,name,value from table order by m_id,value
-
ORDER BY bed DESC是什么意思?bed不是列名,它是某些行中的值。 -
你说你想保持
m_id的顺序。为什么m_id在第一个结果中升序,而在第二个结果中降序?
标签: mysql sql sorting select sql-order-by