W tabeli o strukturze
id|offerId|eventDate|dateCreated|description
gdzie w eventDate znajduje się data w formacie '2017-01-01', a w dateCreated data w formacie '2017-01-01 10:00:01'
W tabeli znajduje się wiele rekordów dla których wartość w offerId,eventDate i description jest taka sama (błąd w skrypcie powodował, że to samo wydarzenie było dodawane wielokrotnie). Chciałbym usunąć te rekordy ale tak by pozostała jeden dla każdego dnia (eventDate).
DELETE FROM tabela AS t1, tabela AS t2 WHERE t1.id>t2.id AND t1.eventDate=t2.eventDate
Sprytne Dziękuje bardzo.
W przypadku MySQL miałem tylko problem ze składnią gdyż w postaci:
DELETE FROM tabela AS t1, tabela AS t2 WHERE t1.id>t2.id AND t1.eventDate=t2.eventDate
DELETE t1 FROM tabela AS t1, tabela AS t2 WHERE t1.id>t2.id AND t1.eventDate=t2.eventDate
Indeks na eventDate to dobry pomysł.
Możesz też utworzyć nową tabelę , ustawić index unique na te 3 pola, wrzucić tam dane, potem zrobić truncate na poprzedniej i znowu przewalić dane.
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)