我有一个像这样的 mySQL 数据集:
id | name | country_id | sort |
-------------------------------------------------
0000001 Name A 2001 29.90
0000002 Name B 2929 90.02
0000003 Name C 2001 99.50
0000004 Name D 2001 42.03
0000005 Name E 2929 62.49
0000006 Name F 1005 78.00
通常,我会执行 ORDER BY sort DESC
然后我会得到如下结果:
0000003 Name C 2001 99.50
0000002 Name B 2929 90.02
0000006 Name F 1005 78.00
0000005 Name E 2929 62.49
0000004 Name D 2001 42.03
0000001 Name A 2001 29.90
现在,我想做的是首先显示 country_id 2929
的结果,同样按 sort DESC
排序,然后是 中的其他结果>sort DESC
顺序,就像之前没有 country_id
顺序一样。
我将如何实现?所以基本上顺序应该是:
0000002 Name B 2929 90.02
0000005 Name E 2929 62.49
0000003 Name C 2001 99.50
0000006 Name F 1005 78.00
0000004 Name D 2001 42.03
0000001 Name A 2001 29.90
最佳答案
使用按 FIELD 排序
order by FIELD(country_id,'2929') DESC,sort DESC
关于mysql - 我如何首先对特定国家/地区的 mySQL 数据进行排序,然后是正常顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34356713/