Приветствую всех. Возможно ли выполнить такой sql-запрос, чтобы получить записи из таблицы, но совпавшие пропустить? Если нельзя, то как это можно реализовать по другому?
select * from table where id not in (1,2,3,4,5)
Не понял, а что это даст? У меня в таблице могут совпадать номера телефонов. Мне нужно получить список всех номеров, но совпавшие номера в таблице он должен пропустить. Такое возможно?
Т.е. не вбирать записи с повторяющимися значениями? тогда
select * from phone_book group by phone_number having count(*) = 1
SELECT DISTINCT
http://www.w3schools.com/sql/sql_distinct.asp
_____________
VPS от 5$, первые 2 месяца -
бесплатно.
glock18
20.12.2012 - 13:24
Увы, может не помочь если требуется искать совпадения не по всем полям. При уникальном ключе в таблице 100% не поможет.
решение с group by универсально в этом плане и позволит подобрать необходимый критерий
Цитата (kaww @ 20.12.2012 - 09:16) |
Т.е. не вбирать записи с повторяющимися значениями? тогда
select * from phone_book group by phone_number having count(*) = 1 |
Что-то не работает. Он выбирает только один номер телефона, который у меня в таблице встречается один раз, а все остальные пропускает.
Он выбирает только один номер телефона, который у меня в таблице встречается один раз, а все остальные пропускает.
, разве это не было целью?
glock18
20.12.2012 - 13:31
Цитата (kaww @ 20.12.2012 - 09:29) |
Он выбирает только один номер телефона, который у меня в таблице встречается один раз, а все остальные пропускает. , разве это не было целью? |
выходит, речь шла о пропуске повторений
Целью было получить список всех номеров, а совпавшие пропустить, я писал выше. SELECT DISTINCT сработало. Hello, спасибо. И всем спасибо за ответы. Вопрос решен.
glock18
20.12.2012 - 13:33
Цитата (Dimaz @ 20.12.2012 - 09:27) |
Цитата (kaww @ 20.12.2012 - 09:16) | Т.е. не вбирать записи с повторяющимися значениями? тогда
select * from phone_book group by phone_number having count(*) = 1 |
Что-то не работает. Он выбирает только один номер телефона, который у меня в таблице встречается один раз, а все остальные пропускает.
|
ну вы бы хоть посмотрели что за запрос такой вообще. гугл, мануал. Чай, и разобрались бы почему только уникальные номера возвращает ;)
glock18
20.12.2012 - 13:35
Цитата (Dimaz @ 20.12.2012 - 09:33) |
Целью было получить список всех номеров, а совпавшие пропустить, я писал выше. SELECT DISTINCT сработало. Hello, спасибо. И всем спасибо за ответы. Вопрос решен. |
если вам таки ничего кроме номера телефона из таблицы не надо, то решен. если еще что-то надо, то, увы, нет
neadekvat
20.12.2012 - 15:55
glock18, один селект с полями, второй - в условии where?
glock18
20.12.2012 - 16:59
Цитата (neadekvat @ 20.12.2012 - 11:55) |
glock18, один селект с полями, второй - в условии where? |
зачем? запрос один - просто группировка по полям, по которым повторения нужно отсечь.
фактически запрос kaww без части having
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.