帮助基本t-sql中的req

时间:2011-08-30 22:15:05

标签: tsql

下面是一张表。

 stu_id   meet_doc_id   doc_name   stu_name       dob           value      date
    101        0104          AD          AM      15/06/1950     LMDO     2011-02-15
    101        0105          AD          AM      15/06/1950     CLEAR    2011-02-18
    101        0106          AD          AM      15/06/1950     CLEAR    2011-02-25
    102        0107          AD          AK      12/08/1987     CLEAR    2011-03-28
    102        0108          AD          AK      12/08/1987     LDMO     2011-04-29
    103        0109          PK          LMP     13/07/1970     CLEAR    2011-03-28
    103        0110          PK          LMP     13/07/1970     CLEAR    2011-05-12

如果我希望看到

的结果集,那么结果查询会是什么
  stu_id    meet_doc_id   doc_name   stu_name      dob          value      date
    101        0104          AD          AM      15/06/1950     LMDO     2011-02-15
    102        0107          AD          AK      12/08/1987     CLEAR    2011-03-28
    103        0110          PK          LMP     13/07/1970     CLEAR    2011-05-12

1 个答案:

答案 0 :(得分:0)

你的表看起来非常不规范,有很多重复的组,但我认为你需要

;WITH CTE
     AS (SELECT stu_id,
                meet_doc_id,
                doc_name,
                stu_name,
                dob,
                value,
                date,
                ROW_NUMBER () OVER (PARTITION BY stu_id ORDER BY meet_doc_id) AS
                RN
         FROM   YourTable)
select stu_id,
       meet_doc_id,
       doc_name,
       stu_name,
       dob,
       value,
       date
FROM   CTE
WHERE  RN = 1