首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SQL:将记录移动到顶部的两个条件上

SQL:将记录移动到顶部的两个条件上
EN

Stack Overflow用户
提问于 2013-09-09 14:24:53
回答 1查看 34关注 0票数 1

有下表

代码语言:javascript
运行
复制
  CompanyID   CompanyName
1 333         Name1
2 333         Name2
3 123         Name1
4 333         Name1
5 444         Name1
6 444         Name1

我需要拥有CompanyID = 333 OR CompanyName= Name1的所有公司,并且我想以这样的方式编写查询,如果我的公司同时就必需的CompanyID(333)和CompanyName(Name1)达成一致,那么它们应该像这样位于结果表的顶部。但其他订购可能不需要:

代码语言:javascript
运行
复制
  CompanyID   CompanyName
1 333         Name1
2 333         Name1
3 333         Name2
4 123         Name1
5 444         Name1
6 444         Name1

我怎样才能做到这一点?我正在使用Server 2008RD。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-09 14:27:51

这是一个order by问题。你需要把这两场比赛放在第一名:

代码语言:javascript
运行
复制
select *
from t
where CompanyId = 333 or CompanyName = 'Name1'
order by (case when companyId = 333 and CompanyName = 'Name1' then 1
               else 0
          end) desc
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18700508

复制
相关文章

相似问题

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