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

Откуда:
Сообщений: 46
Если значения некоторого поля повторяются, как выбрать только уникальные?
17 сен 06, 13:48    [3147085]     Ответить | Цитировать Сообщить модератору
 Re: Как выбрать только уникальные значения поля в таблице?  [new]
Taffy
Member

Откуда:
Сообщений: 20501
distinct
17 сен 06, 13:56    [3147108]     Ответить | Цитировать Сообщить модератору
 Re: Как выбрать только уникальные значения поля в таблице?  [new]
iap
Member

Откуда: Москва
Сообщений: 47000
Сформулируйте вопроc по-человечески. Если надо выбрать только неповторяющиеся значения поля [Field] таблицы [Table], то
SELECT [Field] FROM [Table] GROUP BY [Field] HAVING COUNT(*)=1
17 сен 06, 16:21    [3147276]     Ответить | Цитировать Сообщить модератору
 Re: Как выбрать только уникальные значения поля в таблице?  [new]
papuas
Member

Откуда: Юго-Восток Туманного Острова
Сообщений: 504
iap
Сформулируйте вопроc по-человечески. Если надо выбрать только неповторяющиеся значения поля [Field] таблицы [Table], то
SELECT [Field] FROM [Table] GROUP BY [Field] HAVING COUNT(*)=1


а distinct чем не угодил?
18 сен 06, 12:17    [3149327]     Ответить | Цитировать Сообщить модератору
 Re: Как выбрать только уникальные значения поля в таблице?  [new]
iap
Member

Откуда: Москва
Сообщений: 47000
papuas
iap
Сформулируйте вопроc по-человечески. Если надо выбрать только неповторяющиеся значения поля [Field] таблицы [Table], то
SELECT [Field] FROM [Table] GROUP BY [Field] HAVING COUNT(*)=1


а distinct чем не угодил?

Вернутся даже те значения, которые встречаются в таблице более одного раза. Вот я и думаю, что же имел в виду автор, когда употребил слово "уникальные". Уникальные где - в таблице или в результате запроса?
18 сен 06, 12:35    [3149450]     Ответить | Цитировать Сообщить модератору
 Re: Как выбрать только уникальные значения поля в таблице?  [new]
papuas
Member

Откуда: Юго-Восток Туманного Острова
Сообщений: 504
iap
papuas
iap
Сформулируйте вопроc по-человечески. Если надо выбрать только неповторяющиеся значения поля [Field] таблицы [Table], то
SELECT [Field] FROM [Table] GROUP BY [Field] HAVING COUNT(*)=1


а distinct чем не угодил?

Вернутся даже те значения, которые встречаются в таблице более одного раза. Вот я и думаю, что же имел в виду автор, когда употребил слово "уникальные". Уникальные где - в таблице или в результате запроса?


Ого, я думал
SELECT DISTINCT [Field] FROM [Table]
вернет уникальные, зачем же он тогда вообще нужен...
18 сен 06, 13:00    [3149616]     Ответить | Цитировать Сообщить модератору
 Re: Как выбрать только уникальные значения поля в таблице?  [new]
iap
Member

Откуда: Москва
Сообщений: 47000
papuas
iap
papuas
iap
Сформулируйте вопроc по-человечески. Если надо выбрать только неповторяющиеся значения поля [Field] таблицы [Table], то
SELECT [Field] FROM [Table] GROUP BY [Field] HAVING COUNT(*)=1


а distinct чем не угодил?

Вернутся даже те значения, которые встречаются в таблице более одного раза. Вот я и думаю, что же имел в виду автор, когда употребил слово "уникальные". Уникальные где - в таблице или в результате запроса?


Ого, я думал
SELECT DISTINCT [Field] FROM [Table]
вернет уникальные, зачем же он тогда вообще нужен...

SELECT DISTINCT [Field] FROM [Table]
Вернёт РАЗНЫЕ значения, а не уникальные. То есть, если значение встречается в поле таблицы 3 раза, в результат оно попадёт 1 раз. В результате SELECTа каждое значение будет, конечно, уникальным, но в таблице таких может быть много.
18 сен 06, 13:58    [3150091]     Ответить | Цитировать Сообщить модератору
 Re: Как выбрать только уникальные значения поля в таблице?  [new]
papuas
Member

Откуда: Юго-Восток Туманного Острова
Сообщений: 504
iap
papuas
iap
papuas
iap
Сформулируйте вопроc по-человечески. Если надо выбрать только неповторяющиеся значения поля [Field] таблицы [Table], то
SELECT [Field] FROM [Table] GROUP BY [Field] HAVING COUNT(*)=1


а distinct чем не угодил?

Вернутся даже те значения, которые встречаются в таблице более одного раза. Вот я и думаю, что же имел в виду автор, когда употребил слово "уникальные". Уникальные где - в таблице или в результате запроса?


Ого, я думал
SELECT DISTINCT [Field] FROM [Table]
вернет уникальные, зачем же он тогда вообще нужен...

SELECT DISTINCT [Field] FROM [Table]
Вернёт РАЗНЫЕ значения, а не уникальные. То есть, если значение встречается в поле таблицы 3 раза, в результат оно попадёт 1 раз. В результате SELECTа каждое значение будет, конечно, уникальным, но в таблице таких может быть много.


Понял, тупил :)
18 сен 06, 14:10    [3150195]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Как выбрать только уникальные значения поля в таблице?  [new]
KvantVS
Member

Откуда: Pavlodar, Kazakhstan
Сообщений: 9
И всё же, спустя 8 лет))) (автор не я)
Я думаю тема была об этом.
Есть запрос, возвращает много полей. Запрос с WHERE, с ORDER BY.
Значения в одном поле (допустим Название геозоны) многократно повторяются. Геозон всего штук 20-30, а записей тысячи.
Как можно сделать, чтобы из каждой группки записей с одинаковым значением поля "ZoneName" выбирались только первые записи?
Т.е. своеобразная группировка только по этому столбцу.
Но я не могу сюда подставить ни GROUP BY, ни DISTINCT, т.к. полей.много. и он выведет мне всё тоже самое. (потому что все поля надо будет перечислять в group by всё равно, иначе ошибку выведет)
30 июл 14, 13:30    [16376674]     Ответить | Цитировать Сообщить модератору
 Re: Как выбрать только уникальные значения поля в таблице?  [new]
iiyama
Member

Откуда:
Сообщений: 642
KvantVS,
Ранжирующие функции (Transact-SQL)
30 июл 14, 13:58    [16376946]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить