现在有一个表:
name id
第一 1
第一 2
第一 3
第二 4
第三 5
现在想得到:
name
第一
第二
第三要升序排列的,该怎么办啊~直接用select DISTINCT name from table order by name asc出现:name
第二
第三
第一
name id
第一 1
第一 2
第一 3
第二 4
第三 5
现在想得到:
name
第一
第二
第三要升序排列的,该怎么办啊~直接用select DISTINCT name from table order by name asc出现:name
第二
第三
第一
insert T select '第一', 1
union all select '第一', 2
union all select '第一', 3
union all select '第二', 4
union all select '第三', 5select name
from T
group by name
order by min(id)--result
name
----------
第一
第二
第三(3 row(s) affected)
select name from stock_district group by_name order by min(id)
向 marco08(天道酬勤) 學習
IF EXISTS(SELECT *FROM SYSOBJECTS WHERE NAME='temptab'AND XTYPE='U')
DROP TABLE temptab
create table temptab
(
pname varchar(20),
pid int
)插入数据:
insert into temptab values('第一',1)
insert into temptab values('第一',2)
insert into temptab values('第一',3)
insert into temptab values('第三',4)
insert into temptab values('第二',5)要求的查询
select pname from
(select pname,
case pname
when '第一' then 1
when '第二' then 2
when '第三' then 3
end Porder
from temptab group by pname)tt
order by Porder该方法使用CASE语句,针对你要求的排序方式自己定义顺序,按定义的排序字段(Porder)来排序。