Получение уникальных значений в sql server - PullRequest
0 голосов
/ 08 ноября 2011

У меня есть таблица:

id| AccID | Subject      | Date                       
1 | 103   | Open HOuse 1 | 11/24/2011 9:00:00 AM        
2 | 103   | Open HOuse 2 | 11/25/2011 10:00:00 AM       
3 |  72   | Open House 3 | 11/26/2011 1:10:28 AM        
4 |  82   | OPen House 4 | 11/27/2011 5:00:29 PM        
5 |  82   | OPen House 5 | 11/22/2011 5:00:29 PM   

Из приведенной выше таблицы мне нужны все уникальные значения для Accid.Но, скажем, если есть два или более столбцов с одним и тем же Accid, то мне нужен столбец с меньшей датой (среди столбцов, имеющих один и тот же Accid)

Итак, из приведенной выше таблицы/ р должно быть: 1 3 5

Может ли кто-нибудь1, пожалуйста, помогите мне в этом?Спасибо

Ответы [ 2 ]

1 голос
/ 08 ноября 2011
SELECT t1.*
FROM [MyTable] t1
INNER JOIN
(
    SELECT AccID, MIN(Date) Date
    FROM [MyTable]
    GROUP BY AccID
) t2 ON t1.AccID = t2.AccID AND t1.Date = t2.Date
1 голос
/ 08 ноября 2011

Больше, чем просто AccID, но ...

WITH SEL
AS
(
    SELECT AccID, MIN(DATE)
      FROM table
     GROUP BY AccID
)
SELECT table.*
  FROM table
  JOIN SEL ON SEL.AccID = table.AccID
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...