Jak odstranit vsechny zaznamy a ponechat jen posledni ze dne

Webdesign, HTML, CSS, Flash, PHP, ASP, .NET, JavaScript. Kritika www stránek na Smetišti.

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod dotaznicek47 16. 3. 2020 11:23

Dobrý den, obracím se na Vás o pomoc a radu, jak sestavit sql příkaz.

Řekněme, že se mi do databáze každých 10 minut ukládají autializovaná data ve formátu

nazev | pocet | datum | id
škoda | 2 | 2020-03-16 22:52:42
škoda | 5 | 2020-03-16 19:52:42
toyota | 1 | 2020-03-16 20:52:42
toyota | 8 | 2020-03-16 23:52:42


a já bych se chtěl zeptat, jak mohu dnes, tedy 16.3.2020 odstranit všechna data z tabulky, ALE ponechat jen ta data:

která mají dnešní datum

A ZÁROVEŇ

ponechat z každého minulého dne jen [b]poslední záznam, co byl pro danou položku "nazev" zaznamenán?[/b]

První část, kdy nechci mazat dnešní záznamy bych asi zvládl sám, ale nevím, jak na tu část druhou.
Děkuji mnohokrát
dotaznicek47
Kolemjdoucí

Odeslat příspěvekod Just_jo 16. 3. 2020 18:22

Čistě teoreticky: vytvořit temporary table a do ní vložit záznamy z dneška a pak dodat vždy poslední záznam seskupený podle data.

Ale opravdu jen poslední? Podle formátu co jsi psal to vypadá ještě na ponechání i podle sloupce "nazev"
Just_jo
Junior
Uživatelský avatar

Odeslat příspěvekod dotaznicek47 16. 3. 2020 19:13

Zdravím, děkuji za odpověď. Ano, jedná se o poslední záznam z každého dne, s podmínkou tedy ještě, že zůstane poslední záznam daného dne od každého pole "name" jeden.
dotaznicek47
Kolemjdoucí

Odeslat příspěvekod Just_jo 16. 3. 2020 19:21

Just_jo
Junior
Uživatelský avatar

Odeslat příspěvekod Papadimo 17. 3. 2020 00:26

opravdu je o to smazat?Nestačí udělat view, kde se budou ukazovat sloupce s s posledním date?
Nasměrování od just_jo je dobré, asi druhá odpověď se mi tam líbí - využití subselectů a IN (SELECT).
PS: zde by se vyplatilo trochu ohnout pravidlo normalizace ukládata nejen (date)time, ale i Date. pak by dle mě stačila nějaké konstrukce GROUP BY Datum + MAX(Time)
a mimochodem není problém v zapisování dat, zda by nestačilo místo vkládání řádku pouze inkrementovat ~pocet~
Papadimo
Junior


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků