Tsql 基本t-sql中的帮助请求

Tsql 基本t-sql中的帮助请求,tsql,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-0

下面是一张表

 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

你的桌子看起来非常不正常,有很多重复的组,但我认为你需要

;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  

你用什么逻辑来达到你的预期结果?这相当不清楚。取决于查询!也许再仔细考虑一下这个问题。@Matt-看起来他们想要每个
stu\u id
组的第一行,按
meet\u doc\u id
的顺序排列。帕勒姆早些时候发布了一些几乎同样神秘的东西。之前的帖子与价值有关,但现在看来一切都改变了。我需要找到的是那个对那个特殊医生有价值的学生。如果没有LMDO出席,那么它应该显示清楚。马丁,如果你看一下我之前关于CTE的问题。你会明白的。它不是一个表,而是CTE中查询的结果集。