Table:class
id xueyuan
1 信息
2 信息
3 化材
4 化材
5 经贸现在我想通过SQL得到以下结果
xueyuan
信息
化材
经贸就是把原来class表中的不重复的学院找出来,但是必须根据id号升序来我自己原来写了这样: select distinct xueyuan
from class
但是得出的结果是:
xueyuan
化材
经贸
信息好像distinct会根据首个字母的顺序排的。
请教达人啊,谢谢!
id xueyuan
1 信息
2 信息
3 化材
4 化材
5 经贸现在我想通过SQL得到以下结果
xueyuan
信息
化材
经贸就是把原来class表中的不重复的学院找出来,但是必须根据id号升序来我自己原来写了这样: select distinct xueyuan
from class
但是得出的结果是:
xueyuan
化材
经贸
信息好像distinct会根据首个字母的顺序排的。
请教达人啊,谢谢!
insert t select 1,'信息'
union all select 2,'信息'
union all select 3,'化材'
union all select 4,'化材'
union all select 5,'经贸'declare @s varchar(100)
set @s='信息,化材,经贸'
select xueyuan from t group by xueyuan
order by charindex(','+xueyuan+',',','+@s+',')xueyuan
--------------------
信息
化材
经贸(所影响的行数为 3 行)
select xueyuan from class a where not exists(select 1 from class where xueyuan=a.xueyuan and id>a.id) order by id
insert t select 1,'信息'
union all select 2,'信息'
union all select 3,'化材'
union all select 4,'化材'
union all select 5,'经贸'select min(id) as id ,xueyuan from t group by xueyuan order by id
drop table tcreate table t(id int,xueyuan varchar(20))
insert t select 1,'信息'
union all select 2,'信息'
union all select 3,'化材'
union all select 4,'化材'
union all select 5,'经贸'
select xueyuan from t group by xueyuan order by min(id) drop table t结果:
信息
化材
经贸
这样ok了!呵呵,谢谢上面的朋友热心解答!