Hirdetés
- MWC 2026: leégsz, ha nem figyelsz a TCL 15 ezer nites panelje előtt
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Milyen videókártyát?
- Apple MacBook
- Ilyen olcsó sem volt még egy Apple notebook
- Bambu Lab 3D nyomtatók
- Milyen monitort vegyek?
- HiFi műszaki szemmel - sztereó hangrendszerek
- E-book olvasók
- Fejhallgató erősítő és DAC topik
Új hozzászólás Aktív témák
-
nyunyu
félisten
válasz
Petya25
#4684
üzenetére
Először le kéne válogatni rendszámonként az utolsó dátumot, majd azokhoz a rendszám-dátum párosokhoz tartozó km értéket kikeresni a táblából.
Alselect helyett joinnal:
select
t.datum,
t.rendszam,
t.km
from tankolas t
join (select rendszam,
max(datum) max_datum
from tankolas t
group by rendszam) t2
on t.rendszam = t2.rendszam
and t.datum = t2.max_datum;Vagy rendszámonként besorszámozod dátum szerint csökkenőbe, és minden rendszámhoz az első rekordot veszed:
select datum,
rendszam,
km
from (select datum,
rendszam,
km,
row_number() over (partition by rendszam order by datum desc) rn
)
where rn=1;Egyébként ha meg feltételezzük, hogy a km állás monoton növekvő (magyarul nem szokták babrálni az órát), akkor egyszerűbben is lehet, hiszen a max(datum) és a max(km) érték ugyanazon a rekordon kéne hogy legyen:
select rendszam,
max(datum) datum,
max(km) km
group by rendszam;De ilyet ne feltételezzünk, mert a valóság az, hogy ahány adatrögzítő, annyiféleképpen sikerült bevinnie az adatot az évek során.
Új hozzászólás Aktív témák
- Lenovo T490S i5 8365U, 16GB RAM, 256GB SSD, jó akku, számla, 6 hó gar
- ÁRGARANCIA!Épített KomPhone i5 14600KF 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! Akár részletfizetés 0% THM ÚJ AMD RYZEN AM4 processzorok 3 év garanciával 27% áfaval
- Nintendo Switch Lite
- Lenovo ThinkPad T14s Gen 4 Ryzen 5 PRO 7540U 14" FHD+ 32GB 512GB Lenovo gar: 2028.01.07!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

