日期:2014-05-18  浏览次数:20570 次

如何取第一行
现有如下数据表Sql2000   (表名称为TestTable)包含如下三列
编号         名称           其他
10000       北京           阿斗随风倒
10000       河北           sfsaadf
10000       山西           23424234
10001       吃饭           随风萨发
10001       睡觉           哈哈
10005       别想了       2234234
10006       快点           3424234
10007       随风萨发   速度分散对方
10007       324             随风
...           ...             ......
我要得到如下数据集该如何做
编号         名称           其他
10000       北京           阿斗随风倒
10001       吃饭           随风萨发
10005       别想了       2234234
10006       快点           3424234
10007       随风萨发   速度分散对方
...           ...             ...        

也就是只去编号的第一行,其他不管

------解决方案--------------------
select *
from 表名 as b,
(
select 编号,min(名称) as 名称
from 表名
group by 编号
) as a
where a.编号=b.编号 and a.名称=b.名称