Выберите Различить для 2 столбцов в запросе SQL - PullRequest
13 голосов
/ 09 сентября 2010

Если у меня есть таблица, такая как

1 bob
1 ray
1 bob
1 ray
2 joe
2 joe

И я хочу выбрать разные на основе двух столбцов, чтобы я получил

1 bob
1 ray
2 joe

Как мне сформулировать мой запрос? Является ли единственный способ объединить столбцы и обернуть их вокруг отдельного оператора функции?

Ответы [ 2 ]

32 голосов
/ 09 сентября 2010
select distinct id, name from [table]

или

select id, name from [table] group by id, name
5 голосов
/ 09 сентября 2010

Вы можете просто сделать:

select distinct col1, col2 from your_table;

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

Имейте в виду, что Отдельная обычно является довольно дорогой операцией, поскольку после обработки запроса сервер БД может выполнить операцию sort , чтобы удалить дубликаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...