powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Выборка и удаление
15 сообщений из 15, страница 1 из 1
Выборка и удаление
    #38627355
bivilbi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Всю голову уже сломал как удалить старые записи
Есть таблица id, name, date
id- уникальное

структура такая
id name date
241, вася, 24.04.2014 07:00
2415435345, петя, 24.04.2014 07:00
24175475435, вася, 24.04.2014 08:00
2574415435345, петя, 24.04.2014 08:00
286846541, вася, 24.04.2014 09:00
27864415435345, петя, 24.04.2014 09:00
248567341, вася, 25.04.2014 07:00
7862415435345, петя, 24.04.2014 07:00
243463434551, вася, 25.04.2014 08:00
7862415435345, петя, 24.04.2014 08:00
243534526741, вася, 25.04.2014 09:00
213782415435345, петя, 24.04.2014 09:00
и т.д.
Т.е. каждый час добавляется одна запись с таймштампом
Чем можно оставить только по одной , самой поздней ,записи за день

286846541, вася, 24.04.2014 09:00
27864415435345, петя, 24.04.2014 09:00
243534526741, вася, 25.04.2014 09:00
213782415435345, петя, 24.04.2014 09:00
...
Рейтинг: 0 / 0
Выборка и удаление
    #38627400
Фотография SmeL_md
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bivilbi,

delete from t1 where NOT EXISTS (select max(date) from t1 group by date_trunc('date',date))
...
Рейтинг: 0 / 0
Выборка и удаление
    #38627422
V&N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
V&N
Гость
SmeL_md,
...
Рейтинг: 0 / 0
Выборка и удаление
    #38627423
SmeL_mdbivilbi,

d
Код: sql
1.
elete from t1 where NOT EXISTS (select max(date) from t1 group by date_trunc('date',date))


Насмешил.
...
Рейтинг: 0 / 0
Выборка и удаление
    #38627441
bivilbi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый Э - ЭхSmeL_mdbivilbi,

d
Код: sql
1.
elete from t1 where NOT EXISTS (select max(date) from t1 group by date_trunc('date',date))


Насмешил.

Это как тогда?????
...
Рейтинг: 0 / 0
Выборка и удаление
    #38627487
bivilbi,

если тупо в лоб, то как вариант ...
...
Рейтинг: 0 / 0
Выборка и удаление
    #38627599
Фотография SmeL_md
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
V&N,Добрый Э - Эх
ужас хорошо что еще и опечатка в запросе была
...
Рейтинг: 0 / 0
Выборка и удаление
    #38628615
bivilbi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не получается все равно
Postgresql 8.3

создание

ALTER TABLE t ADD COLUMN id character varying(36);
ALTER TABLE t ALTER COLUMN id SET STORAGE EXTENDED;
ALTER TABLE t ALTER COLUMN id SET NOT NULL;

ALTER TABLE t ADD COLUMN "name" character varying(36);
ALTER TABLE t ALTER COLUMN "name" SET STORAGE EXTENDED;

ALTER TABLE t ADD COLUMN tmstm timestamp without time zone;
ALTER TABLE t ALTER COLUMN tmstm SET STORAGE PLAIN;



добавляю так
insert into t (id,name,tmst) values ('ewf4654645y' , 'вася', now());
insert into t (id,name,tmst) values ('e45354645y' , 'петя', now());

делаю
delete from t
where (name,date)
not in (select name, max(date)
from t
group by name, date_trunc('day',date)
);

и остаются только по одной записи на день

'453','вася', 25.04.2014 09:00
'453','вася', 26.04.2014 09:00
...
Рейтинг: 0 / 0
Выборка и удаление
    #38628628
bivilbi,

а ты разве не так хотел? одна запись по каждому name на каждую дату, с максимальной датой... что не так?
...
Рейтинг: 0 / 0
Выборка и удаление
    #38628644
bivilbi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый Э - Эх,
немного не так

добавляются записи
вася, 24.04.2014 09:00
петя, 24.04.2014 09:00
вася, 24.04.2014 10:00
петя, 24.04.2014 10:00


вася, 25.04.2014 09:00
петя, 25.04.2014 09:00
вася, 25.04.2014 10:00
петя, 25.04.2014 10:00

а в итоге должно получатся

вася, 24.04.2014 10:00
петя, 24.04.2014 10:00
вася, 25.04.2014 10:00
петя, 25.04.2014 10:00

т.е. за каждый день по записи
петя
вася
с самой поздней датой на тот день
...
Рейтинг: 0 / 0
Выборка и удаление
    #38628646
bivilbi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый Э - Эх,
и name содержит содержит только

вася
петя
катя

и т.д. строго определенные значения
...
Рейтинг: 0 / 0
Выборка и удаление
    #38628650
bivilbi,

внимательно результат смотри ... именно так и получается.

если у тебя иной результат, то приводи полный тест-кейс с исходным набором данных и результатом удаления...
...
Рейтинг: 0 / 0
Выборка и удаление
    #38628683
bivilbi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый Э - Эх,

http://sqlfiddle.com/#!11/7752c/1

вот так у меня получается.
Есть подозрение что разные форматы даты
...
Рейтинг: 0 / 0
Выборка и удаление
    #38628706
bivilbi,

по приведенной тобой ссылке лично я не увидел:
1) исходного набора данных в таблице
2) запроса на удаление "лишних" данных
...
Рейтинг: 0 / 0
Выборка и удаление
    #38628822
bivilbi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый Э - Эх,

http://sqlfiddle.com/#!11/cba2e/3


Всем громадное СПАСИБО!!!


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


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