我有一个表格,其中列a不一定具有不同的值,列b具有多个不同值的每个值.我想得到一个结果,每个值只出现一次,得到b的第一个找到的值为a的值.我怎么在sql server 2000中这样做?
示例表:
- a b
- 1 aa
- 1 bb
- 2 zz
- 3 aa
- 3 zz
- 3 bb
- 4 bb
- 4 aa
通缉结果:
- a b
- 1 aa
- 2 zz
- 3 aa
- 4 bb
另外,我必须补充一点,b列中的值都是文本值.我更新了示例来反映这一点.
谢谢
解决方法
- ;with cte as
- (
- select *,row_number() over(partition by a order by a) as rn
- from yourtablename
- )
- select
- a,b
- from cte
- where rn = 1