Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как выбрать только уникальные значения поля в таблице?  [new]
Delione
Member

Откуда:
Сообщений: 3
Дана таблица et

id | name | dpt_id
42 | Tom | 3
21 | Tom | 62
45 | Mat | 21
42 | Kate |
66 | Eva |42
73 | Lana |42
52 | Lana |42
26 | Tina |23
84 | Max |24
52 | | 27

Каким будет запрос , если надо найти все name не имеющие тезок , то есть , на выходе таблица после запроса должна так выглядеть
| name |
| Mat |
| Kate |
| Eva |
| Tina |
| Max |
21 май 15, 18:22    [17673154]     Ответить | Цитировать Сообщить модератору
 Re: Как выбрать только уникальные значения поля в таблице?  [new]
AlanDenton
Member [скрыт]

Откуда:
Сообщений: 1004
SELECT name
FROM (
	SELECT name, cnt = COUNT(1) OVER (PARTITION BY name)
	FROM tbl
) t
WHERE cnt = 1
21 май 15, 18:25    [17673160]     Ответить | Цитировать Сообщить модератору
 Re: Как выбрать только уникальные значения поля в таблице?  [new]
AlanDenton
Member [скрыт]

Откуда:
Сообщений: 1004
Еще можно так

SELECT name
FROM tbl
GROUP BY name
HAVING COUNT(1) = 1


Если смущают оконные функции
21 май 15, 18:30    [17673181]     Ответить | Цитировать Сообщить модератору
 Re: Как выбрать только уникальные значения поля в таблице?  [new]
Delione
Member

Откуда:
Сообщений: 3
AlanDenton,
Да, вы правы, оконные функции смущают. Только изучаю sql , второй вариант попроще кажется.
21 май 15, 18:37    [17673196]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить