sql - 将确切的一行移到所有行的顶部,留下所有其他的 ASCENDING

标签 sql sql-server

您好,我想知道如何在 SQL 服务器中完成。

我的代码不起作用。

SELECT * FROM
TABLE_NAME
WHERE NAME = 'United Kingdom'
ORDER BY Name

这是示例:

enter image description here

这是预期的结果:

enter image description here

感谢您的帮助。

最佳答案

使用 caseorder by :

SELECT *
FROM TABLE_NAME
ORDER BY (CASE WHEN NAME = 'United Kingdom' THEN 1 ELSE 2 END), Name;
ORDER BY接受多个键。第一个将所需的值放在首位。

关于sql - 将确切的一行移到所有行的顶部,留下所有其他的 ASCENDING,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36497617/

相关文章:

mysql - 如何从 (s,d) 对表中有效过滤 s 和 d 的重复值,仅保留最小的 (s,d) 对

mysql - 创建数据库

php - 如何在 Laravel 架构构建器中制作 [anyType] 数组?

SQL Server - 有选择地将字段插入临时表

sql - 使用 openquery 运行 MDX 查询时出现错误代码 7321

sql - 递归查询在服务器上执行但不在本地执行

sql-server - Sql Server 2008 代理日志清除

sql - 为什么 'HASH JOIN' 或 'LOOP JOIN' 改进了这个存储过程?

sql-server - 从 SQL Azure 中除具有外键约束的主表之外的所有表中删除数据

mysql - 在同一个查询中更改多个列是否更快?