Duplikált sorokból megkeresni a legnagyobb rekordot

Duplikált sorokból megkeresni a legnagyobb rekordot
2020-02-05T22:05:05+01:00
2020-02-06T18:29:48+01:00
2022-10-15T21:16:10+02:00
Korgua
Hello,
Megkértek arra, hogy egy éles adatbázisból szedjem ki az összes rendszám legutolsó kilóméteróráját az utolsó rögzített dátum alapján. Egyszerű lenne, ha a km int-ként lenne tárolva, de sajnos varchar, és nem csak számokat tartalmaz, tehát cast is kilőve
A rendszámokat le tudom kérni, nem probléma. A rendszámhoz tartozó utolsó dátum is meg van, viszont a kilométeróra nem akar összejönni. És id-t se tartalmaz a tábla, és nem kötelező minden adat, tehát vannak üres cellák... (-.-)
Így néz ki a tábla:

carregno | km | MAKE_DATE NCN-418 | (H)631285 | 2019-04-23 09:52:59.000 (H)KLV-207 | (H)74553 | 2019-04-23 08:52:33.000 LAW-567 | 1 | 2016-08-03 07:59:00.000 NAL-470 | 100 | 2016-07-21 09:46:55.000 NAL-470 | 100 | 2016-07-21 09:54:11.000 NAL-470 | 100 | 2016-07-21 09:55:58.000 NVT-519 | 100 | 2016-11-18 08:52:11.000 NVT-519 | 100 | 2016-11-18 08:53:27.000 NVT-519 | 100 | 2016-11-18 08:57:41.000 NVT-519 | 100 | 2016-11-18 09:01:24.000 LTR-311 | 1000020 | 2017-03-13 05:00:02.000 LTR-311 | 1000020 | 2017-03-13 05:04:47.000 KZV-676 | 1000023 | 2014-04-15 21:33:53.000 MOG-126 | 100005 | 2014-06-23 13:44:32.000 MOG-126 | 100005 | 2014-06-23 13:48:48.000 MOG-126 | 100005 | 2014-06-23 13:49:40.000 LYW-600 | 1000096 | 2017-07-14 23:58:34.000 LYW-600 | 1000096 | 2017-07-15 00:00:32.000 LYW-600 | 1000096 | 2017-07-15 00:06:14.000 FTU-802 | 1000156 | 2017-05-26 05:17:56.000 RBK-498 | 100022 | 2019-08-05 09:06:12.000 RBK-498 | 100022 | 2019-08-05 09:09:14.000 PEF-886 | 100026 | 2017-11-08 12:43:43.000 RDX-239 | 100031 | 2019-09-17 12:00:05.000 RDX-239 | 100031 | 2019-09-17 12:10:30.000 LMV-880 | | 2014-12-03 18:50:26.000 LMV-880 | 1000456 | 2014-12-03 18:53:15.000 PNW-632 | 100048 | 2018-09-24 00:31:27.000 PNW-632 | 100048 | 2018-09-24 00:34:50.000 LCR-705 | 1000515 | 2013-11-20 13:12:37.000 LCR-705 | 1000515 | 2013-11-20 13:15:06.000 | 1000515 | 2013-11-20 13:18:41.000 LTM-034 | 1000523 | 2016-08-24 05:04:04.000 KLV-207 | 100054 | 2020-01-20 06:34:33.000 FTU-802 | 1000702 | 2017-05-29 16:27:28.000 MJU-756 | 1000882 | 2019-04-15 03:09:46.000 NAX-187 | 100093 | 2015-09-07 10:12:18.000
Ezzel próbálkoztam:

select th.carregno, MAX(th.make_date) mk, MAX(th.km) km from TRANS_HEADER_VIEW th where km is not null group by th.carregno order by th.carregno asc
Viszont falsot hoz, mert ugyebár a 9 > 5, tehát a 91 > 5323 varcharnál...
Egy kis segítséget kérhetnék?
Mutasd a teljes hozzászólást!
Nem tudtam kipróbálni, de szerintem:

WITH max_data AS (SELECT carregno, MAX(make_date) AS make_date FROM trans_header_view GROUP BY carregno) SELECT max_data.carregno, max_data.make_date, thv.km FROM max_data, trans_header_view thv WHERE max_data.carregno = thv.carregno AND max_data.make_date = thv.make_date
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd