sql-server-2000 – sql server在分组时获取第一个值

前端之家收集整理的这篇文章主要介绍了sql-server-2000 – sql server在分组时获取第一个值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个表格,其中列a不一定具有不同的值,列b具有多个不同值的每个值.我想得到一个结果,每个值只出现一次,得到b的第一个找到的值为a的值.我怎么在sql server 2000中这样做?

示例表:

  1. a b
  2. 1 aa
  3. 1 bb
  4. 2 zz
  5. 3 aa
  6. 3 zz
  7. 3 bb
  8. 4 bb
  9. 4 aa

通缉结果:

  1. a b
  2. 1 aa
  3. 2 zz
  4. 3 aa
  5. 4 bb

另外,我必须补充一点,b列中的值都是文本值.我更新了示例来反映这一点.
谢谢

解决方法

  1. ;with cte as
  2. (
  3. select *,row_number() over(partition by a order by a) as rn
  4. from yourtablename
  5. )
  6. select
  7. a,b
  8. from cte
  9. where rn = 1

猜你在找的MsSQL相关文章