SQL - Как выбрать первую строку (или любую уникальную строку) из нескольких строк с одинаковым идентификатором? - PullRequest
1 голос
/ 27 июля 2010

Допустим, у меня есть результат запроса, который выглядит следующим образом:

ID    NAME    Phone
----  ----    -----
1     Bob     111-111-1111
1     Bob     222-222-2222
1     Bob     333-333-3333
2     Stan    555-555-5555
3     Mike    888-888-8888
3     Mike    777-777-7777

Я хочу вернуть только один экземпляр строки каждого значения идентификатора. Для меня не имеет значения, какую из нескольких строк я получу - первая в наборе в порядке.

Таким образом, возможный результат будет:

ID    NAME    Phone
----  ----    -----
1     Bob     111-111-1111
2     Stan    555-555-5555
3     Mike    888-888-8888

Ответы [ 2 ]

7 голосов
/ 27 июля 2010

Для SQL Server [править] и MS Access вы можете сделать

SELECT [ID], [Name], MIN(Phone) as PhoneNumber
FROM PhoneNumbers
GROUP BY [ID], [Name]

Это вернет

ID    NAME    Phone
----  ----    -----
1     Bob     111-111-1111
2     Stan    555-555-5555
3     Mike    777-777-7777

Возможно, вы захотите добавить какой-нибудьуникальный ключ к столу, просто мысль.

1 голос
/ 27 июля 2010

Вероятно, мы также можем помочь вам в этом направлении, если вы предоставите нам инструкцию T-SQL, которая дала вам первые полученные результаты, и некоторую информацию о том, как это можно переписать, чтобы получить желаемые результаты.

...