Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Выборка с disinct / 12 сообщений из 12, страница 1 из 1
13.03.2003, 15:16
    #32119445
NightSpider
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка с disinct
Есть таблица без Primary KEY из нескольких полей z.B.
Date1 Date2 Date3 tatata
Из них нужно сделать выборку уникальных по date2 строк, ТОЛЬКО ПО Date2
12.10.02 22.10.02 02.10.02 gdsgc
11.10.02 24.10.02 22.10.02 g21gc
01.10.02 24.10.02 23.10.02 gd23c
25.10.02 24.10.02 12.10.02 gd12gc
Из них должны остаться
12.10.02 22.10.02 02.10.02 gdsgc
11.10.02 24.10.02 22.10.02 g21gc

т.е только одна из строк, повторяющихся по дате.
...
Рейтинг: 0 / 0
13.03.2003, 15:21
    #32119449
Александр Спелицин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка с disinct
Select Max (Date1), Date2, Max(Date3), Max (tatata)
Group by Date2
...
Рейтинг: 0 / 0
13.03.2003, 15:25
    #32119459
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка с disinct
Тут че то с условиями задачи не так, что значит уникальных по date2 , какую прикажете вернуть вам, если их несколько???
...
Рейтинг: 0 / 0
13.03.2003, 15:34
    #32119471
NightSpider
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка с disinct
Любую.

А это точно бедет именно так работать???
Select Max (Date1), Date2, Max(Date3), Max (tatata)
Group by Date2
...
Рейтинг: 0 / 0
13.03.2003, 15:40
    #32119480
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка с disinct
Если любую, то Александр Спелицин прав
...
Рейтинг: 0 / 0
13.03.2003, 18:33
    #32119645
NightSpider
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка с disinct
Всем спасибо за участие
Код: plaintext
:-)
...
Рейтинг: 0 / 0
13.03.2003, 21:08
    #32119714
NightSpider
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка с disinct
Select Max (Date1), Date2, Max(Date3), Max (tatata)
Group by Date2
К сожалению работаеть не так как хотелось бы.
Это выбрка выбирает всего одну строку из всех, а нужно Все строки с разными значенияви в поле Date2 + Одну из строк с одинаковыми значениями в этом поле

Date1 Date2 Date3 tatata

12.10.02 ---- 22.10.02 ---- 02.10.02 ---- gdsgc
11.10.02 ---- 24.10.02 ---- 22.10.02 ---- g21gc
01.10.02 ---- 24.10.02 ---- 23.10.02 ---- gd23c
25.10.02 ---- 24.10.02 ---- 12.10.02 ---- gd12gc
01.10.02 ---- 25.11.02 ---- 23.10.02 ---- gd23c234
25.10.02 ---- 25.11.02 ---- 12.10.02 ---- gd12gc

Из них должны остаться

12.10.02 ---- 22.10.02 ---- 02.10.02 ---- gdsgc
11.10.02 ---- 24.10.02 ---- 22.10.02 ---- g21gc
01.10.02 ---- 25.11.02 ---- 23.10.02 ---- gd23c234

В поле Date2 24.10.02 встречается 3 раза, а из трех записей оставляем только одну,25.11.02 - 2 раза, отавляем одну из 2х, 22.10.02 - 1 раз, вот ее и оставляем
...
Рейтинг: 0 / 0
14.03.2003, 08:06
    #32119799
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка с disinct
>К сожалению работаеть не так как хотелось бы.

Что значит, не как хотелось.

Этот запрос это и должен делать, покажи, какие результаты ты получаешь из каких исходных данных.

И вот это вот:

Из них должны остаться
12.10.02 ---- 22.10.02 ---- 02.10.02 ---- gdsgc
11.10.02 ---- 24.10.02 ---- 22.10.02 ---- g21gc
01.10.02 ---- 25.11.02 ---- 23.10.02 ---- gd23c234


Почему вот эта
11.10.02 ---- 24.10.02 ---- 22.10.02 ---- g21gc

а не вот эта
01.10.02 24.10.02 23.10.02 gd23c

Всетаки непонятно, чтож т хочешь получить.
...
Рейтинг: 0 / 0
14.03.2003, 16:17
    #32120351
NightSpider
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка с disinct
Попробовал с этими же данными работает. А вчера вроде не получалось, наверное нужно было лечь проспаться. :)
...
Рейтинг: 0 / 0
14.03.2003, 21:08
    #32120559
NightSpider
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка с disinct
Это не совсем то, точнее получается совсем не то, он выбирает уникалные даты, но для каждой уникальной даты выбирает максимальные значения со всех допустимых строк. А нужна строка целиком. Как в пимере.
А получается
из
11.10.02 ---- 24.10.02 ---- 22.10.02 ---- g21gc
01.10.02 ---- 24.10.02 ---- 23.10.02 ---- gd23c
25.10.02 ---- 24.10.02 ---- 12.10.02 ---- gd12gc
вот это
25.10.02 ---- 22.10.02 ---- 23.10.02 ---- gd12gc т.е амксимальные значения

а нужно
11.10.02 ---- 24.10.02 ---- 22.10.02 ---- g21gc
или
01.10.02 ---- 24.10.02 ---- 23.10.02 ---- gd23c
или
25.10.02 ---- 24.10.02 ---- 12.10.02 ---- gd12gc
...
Рейтинг: 0 / 0
15.03.2003, 11:03
    #32120621
NightSpider
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка с disinct
Появилась мысль сделать что-то вроде
Insert into aaa (select * from table where date not in aaa.date2)
Но как организовать этот запрос вверх??? и будет ли это решением ?
Прошу высказаться по этому поводу
...
Рейтинг: 0 / 0
15.03.2003, 11:34
    #32120624
NightSpider
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка с disinct
insert into t20030301 (date1,date2,date3,nullas)

select date1,date2,date3,nullas from logt1000

where date2 not in (select date2 from t20030301)

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


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