Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 105 Pomógł: 3 Dołączył: 12.07.2010 Ostrzeżenie: (0%)
|
cześć,
potrzebuję pomocy z grupowaniem tj. mam tabelę
i chciałbym pobrać wszystkie wiersze, w których status_id jest najnowszy (max(date)) w ramach jednego object_id. Mówiąc krótko, dla każdego okiektu potrzebny mi najnowszy status. Działa (ale za wolno, bo ok. 200 ms)
Samo zrobienie:
nie działa, ponieważ zwraca pierwszy napotkany status, a nie ten pasujący do maksymalnej daty (nie najnowszy, a pierwszy insertowany). Jak powinno wyglądać najprostsze zapytanie, żeby zwrócić najnowszy status dla każdego obiektu ? |
|
|
|
MadMark grupowanie z jednym polem max 12.12.2016, 11:10:24
trueblue [SQL] pobierz, plaintext SELECT object_id,MAX... 12.12.2016, 11:35:50 
MadMark Cytat(trueblue @ 12.12.2016, 11:35:50... 12.12.2016, 11:45:35
mmmmmmm Twoje pierwsze zapytanie jest jedynym (oprócz taki... 12.12.2016, 11:56:16 
MadMark Cytat(mmmmmmm @ 12.12.2016, 11:56:16 ... 12.12.2016, 12:10:42
trueblue Źle przecyzytałem problem.
Czy większa data oznacz... 12.12.2016, 12:01:18 
MadMark Cytat(trueblue @ 12.12.2016, 12:01:18... 12.12.2016, 12:03:50
trueblue A jak to działa w ten sposób?
[SQL] pobierz, plain... 12.12.2016, 12:10:03
mmmmmmm Sorry, ale ja nie widze różnic pomiędzy tymi zapyt... 12.12.2016, 13:55:15 
MadMark Cytat(mmmmmmm @ 12.12.2016, 13:55:15 ... 12.12.2016, 23:34:20
mmmmmmm Załóż indeks na parę (obiect_id,date) i wklej tu t... 13.12.2016, 08:34:16 ![]() ![]() |
|
Aktualny czas: 20.08.2025 - 03:35 |