SELECT DISTINCT используется для возврата только разных значений из таблицы.
Синтаксис SQL SELECT DISTINCT
Пример SELECT DISTINCT
Есть таблица "Persons":
| P_Id | LastName | FirstName | Address | City |
|---|---|---|---|---|
| 1 | Hansen | Ola | Timoteivn 10 | Sandnes |
| 2 | Svendson | Tove | Borgvn 23 | Sandnes |
| 3 | Pettersen | Kari | Storgt 20 | Stavanger |
Итак, мы хотим выбрать только разные значения из колонки "City".
Для этого используем такой запрос:
Результат запроса:
| City |
|---|
| Sandnes |
| Stavanger |
SQL Distinct





Комментарии
Думаю
SELECT DISTINCT P_Id, City FROM Persons Цитировать
SELECT DISTINCT City, P_Id FROM Persons Цитировать
Это нужно делать при помощи подзапроса. Типа
SELECT P_id, (SELECT DISTINCT City FROM Persons) City
FROM Persons; Цитировать
Sandnes
Sandnes Цитировать
Если все записи таблицы в которых значения City присутствуют больше одного раза, тогда так:
SELECT * FROM Persons
WHERE
City IN
(SELECT City FROM Persons GROUP BY City HAVING COUNT (City) > 1)
Получим:
P_Id LastName FirstName Address City
=======================================================
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
или только для City, тогда так:
SELECT City FROM Persons
WHERE
City IN
(SELECT City FROM CLIENT GROUP BY City HAVING COUNT (City) > 1)
Получим:
City
=======
Sandnes
Sandnes
Только смысл. Если просто для статистики, тогда лучше так
SELECT City, COUNT(City) FROM Persons GROUP BY City HAVING COUNT (City) > 1)
Получим:
City COUNT
=============
Sandnes 2 Цитировать