首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何首先返回具有特定值的行?

如何首先返回具有特定值的行?
EN

Stack Overflow用户
提问于 2009-08-08 23:39:43
回答 2查看 89.7K关注 0票数 132

我希望我的查询首先返回表中某一列包含特定值的行,然后按字母顺序返回其余行。

如果我有一个类似以下示例的表:

代码语言:javascript
复制
 - Table: Users
 - id - name -  city
 - 1    George  Seattle
 - 2    Sam     Miami
 - 3    John    New York
 - 4    Amy     New York
 - 5    Eric    Chicago
 - 6    Nick    New York

使用该表,我希望我的查询首先返回包含纽约州的行,然后返回按城市字母顺序排列的其余行。只使用一个查询就可以做到这一点吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-08-09 01:57:34

在SQL Server、Oracle、DB2和许多其他数据库系统上,您可以使用:

代码语言:javascript
复制
ORDER BY CASE WHEN city = 'New York' THEN 1 ELSE 2 END, city
票数 208
EN

Stack Overflow用户

发布于 2009-08-08 23:41:34

如果您的SQL方言足够智能,可以将布尔表达式视为具有数值,那么您可以使用:

代码语言:javascript
复制
SELECT *
FROM `Users`
ORDER BY (`city` = 'New York') DESC, `city`
票数 108
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1250156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档