powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как выбрать уникальные записи с помощью запроса?
9 сообщений из 9, страница 1 из 1
Как выбрать уникальные записи с помощью запроса?
    #32225801
SyDeN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица в ней есть повторяющиеся записи. как выбрать только те которые не повторяются????
...
Рейтинг: 0 / 0
Как выбрать уникальные записи с помощью запроса?
    #32225822
MrAlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
До

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
TABLE  "Test" 

F1
 -----------
 
 1 
 1 
 2 
 3 
 4 
 5 


Запрос

Код: plaintext
1.
2.
3.
4.
SELECT F1
  FROM  "Test" 
  GROUP BY F1
  HAVING COUNT(F1) =  1 


После

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
F1
 -----------
 
 2 
 3 
 4 
 5 
...
Рейтинг: 0 / 0
Как выбрать уникальные записи с помощью запроса?
    #32225929
Дмитрий Мыльников
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решение через GROUP BY неправильное! А если в запросе несколько полей, то что мы получим на выходе? Сколько групп? И как узнать какое условие поставить в HAVING? :)

Для удаления из запроса повторяющихся записей используется специальное ключевое слово DISTINCT, которое пишется сразу после SELECT

То есть, пример должен выглядеть так:

select DISTINCT *
from test
...
Рейтинг: 0 / 0
Как выбрать уникальные записи с помощью запроса?
    #32225980
SyDeN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
10x
...
Рейтинг: 0 / 0
Как выбрать уникальные записи с помощью запроса?
    #32225999
Фотография daw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Дмитрий Мыльников

это почему же еще не правильное?

> Сколько групп? - в каком смысле???

> какое условие поставить в HAVING? - вот такое, например:
HAVING COUNT(*) = 1
а, вообще-то, можно оставить и HAVING COUNT(F1) = 1 - очень уж большой разницы не будет, а если поле F1 еще и ненулевое, то и вовсе никакой...

> COUNT(*) returns the number of items in a group, including NULL values and
> duplicates.
>
> COUNT(ALL expression) evaluates expression for each row in a group and
> returns the number of nonnull values.

(C) BOL


и, вообще, SyDeN просил
> выбрать только те которые не повторяются
DISTINCT же просто уберет дубликаты, а вовсе не выведет те, которые не повторяются...
...
Рейтинг: 0 / 0
Как выбрать уникальные записи с помощью запроса?
    #32226000
duha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
привет.

для этого
1. нужно, чтобы у таблицы было поле автоинкрементное.
если нет этого поля добавить.
если нет желания изменять таблицу, можно вывалить данные
во временную и там добавить столбец ID.

2. сама операция - весьма интересный запрос или несколько запросов,
основная идея которых - связь таблицы с самой собой.

я уже про это писал раньше. поищи на форуме MSSQL (? кажись там) про удаление повторяющихся записей.

удачи.
...
Рейтинг: 0 / 0
Как выбрать уникальные записи с помощью запроса?
    #32226102
Дмитрий Мыльников
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем, каждый понял своё. :)

Уважаемый SyDen, может быть вы уточните тех. задание? :)
...
Рейтинг: 0 / 0
Как выбрать уникальные записи с помощью запроса?
    #32226130
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
Код: plaintext
1.
2.
3.
select xx
from (select xx, count( 1 )  "C"  from table  1  group by xx)
where C= 1 
...
Рейтинг: 0 / 0
Как выбрать уникальные записи с помощью запроса?
    #32226133
SyDeN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
эээ извиняюсь
сам почитал че спросил, не то надо было что написал :))
вообщем надо про Distinct
но про Count тоже запомним

Всем СПАСИБО.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как выбрать уникальные записи с помощью запроса?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]