| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2427 人关注过本帖
标题:请问,能否自定义排序?
只看楼主 加入收藏
mansohu
Rank: 1
等 级:新手上路
帖 子:192
专家分:0
注 册:2013-3-20
结帖率:20.69%
收藏
已结贴  问题点数:10 回复次数:2 
请问,能否自定义排序?
select Name From TB where …… order by ?
需要:
只要记录集中的Name字段里是 张三,李四,王五 三个人的名字 ,就让他们排在 最上面,并以张三,李四,王五的顺序,其它记录按升序排列

比如:
select Name,日期 From TB Where Name like ('%张%') or Name  like ('%李%')  or Name  like ('%王%') order by ?
需要结果是:
  张三    1-1
  张三    7-1
  李四    1-5
  王五    1-1
  王五    11-3
  毕张六  5-1
  董王七  6-1
  ……
  赵李百  1-10

请问,应该怎么写SQL?谢谢!
或者也可以不考虑其它内容,比如 Name 字段里只有 张三,李四,王五 这三个内容,如何写SQL 谢谢!

[此贴子已经被作者于2016-7-26 17:23编辑过]

搜索更多相关主题的帖子: 记录 where 
2016-07-26 17:20
跳过去
Rank: 8Rank: 8
等 级:贵宾
威 望:20
帖 子:282
专家分:976
注 册:2012-8-13
收藏
得分:5 
这样子就需要在表中新增一个字段,专门用来排序的

光棍中.....
2016-07-27 10:49
mywisdom88
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:191
帖 子:3146
专家分:8408
注 册:2015-3-25
收藏
得分:5 
drop table #t1
go
create table #t1(id int ,name varchar(10),sex varchar(4))
insert into #t1
select 1,'张1','男' union all
select 2,'张2','男' union all
select 3,'张3','男' union all
select 4,'张4','男' union all
select 5,'张5','男' union all
select 6,'张6','男' union all
select 7,'张7','男'

select * from (select top 99999999 * from #t1 where name in('张1','张2','张3') order by name desc)a
union all
select * from (select top 99999999 * from #t1 where name not in('张1','张2','张3') order by id asc)b
图片附件: 游客没有浏览图片的权限,请 登录注册
2016-07-27 17:35
快速回复:请问,能否自定义排序?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015504 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved