mysql - 如何先根据关键词排序?

标签 mysql sql sorting select sql-order-by

这是一个示例数据库

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/

相关文章:

java - 我可以直接将 .sql 文件导入 XAMPP 安装吗

sql - 使用来自 SQL Server 的参数运行 exe 文件

SQLite:防止重复

javascript - 在javascript中根据时间戳排序

r - 当连续值缺失时,将向量排序为重复序列 R

php - SQL COUNT 表的一列

mysql - 通过组合两个表格与特定关键字进行比较来创建搜索框

MYSQL请求显示两张表行的差异并根据行id删除重复字段

sql - 使用 NOT EXISTS 重写查询的指导

list - Erlang:元组列表列表的排序或排序函数