这是一个示例数据库
First_name country
Andy US
Manu India
Paul Pakistan
Ramesh Pakistan
Rich India
所以,我想要的是从上表中选择所有记录并根据名称显示。 喜欢:-
我想选择首先显示的人名,其国家名称是印度,然后是美国、巴基斯坦。 我如何在单个 SQL 查询中执行此任务?
更新
我不知道有多少个国家/地区。
需要首先显示的国家由用户输入。
最佳答案
使用 CASE 语句为每条记录指定一个排序键。 0 表示国家/地区匹配,1 表示不匹配,因此所需的国家/地区排在第一位。
select *
from mytable
order by case when country = @country then 0 else 1 end, first_name
关于mysql - 如何先根据关键词排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24503589/