![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 11.04.2009 Ostrzeżenie: (0%)
|
Witam mam tabelę w stylu
"statusy" id (auto_increment), opis, devid, data oraz tabele "urządzeń" id nazwa, opis, producent devid to id urządzenia z drugiej tabeli w tabeli statusy tworzą się po kolei wpisy dla kazdego urzadzenia np 1, ok, 1, 20120801 2, fail, 2, 20120801 3, fail, 1, 20120802 4, ok, 2, 20120802 itp i teraz pytanie jak wyciągnąć listę wszystkich ostatnich wpisów dla danego devid czyli np żeby wynik wyrzucił tylko 3, fail, 1, 20120802 4, ok, 2, 20120802 |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 171 Pomógł: 18 Dołączył: 13.03.2009 Skąd: lublin Ostrzeżenie: (0%)
|
robisz podzapytane, tam szukasz max(id) dla danego opis
później join do orginalnego id i masz dane |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 11.04.2009 Ostrzeżenie: (0%)
|
robisz podzapytane, tam szukasz max(id) dla danego opis później join do orginalnego id i masz dane Właśnie ja to widzę tak że robię select o id , info, date, opis i jakiś drugi o max(id) dla każdego devid potem to mogę sobie ewentualnie połączyć z tabela urządzeń żeby jakieś tam bzdury wyswietlić ale to już mniej istotne i to raczej potrafię zrobić tylko nie wiem jak te dwa pierwsze selecty połączyć. coś takiego wydziergałem
Ten post edytował kracak 15.09.2012, 11:12:21 |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 305 Pomógł: 29 Dołączył: 5.07.2011 Ostrzeżenie: (0%)
|
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 11.04.2009 Ostrzeżenie: (0%)
|
|
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%)
|
A czy to nie wystarczy posortować od tyłu i LIMIT X ? ...
|
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 11.04.2009 Ostrzeżenie: (0%)
|
no tak to możesz znaleźć chyba ostatni wpis w tabeli ale jak jest np po 100 wpisów np dla każdego dev id i ok 100 urządzeń z różnymi id to jak to takim prostym sortowaniem załatwić?
|
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%)
|
Cytat Właśnie ja to widzę tak że robię select o id , info, date, opis i jakiś drugi o max(id) dla każdego devid potem to mogę sobie ewentualnie połączyć z tabela urządzeń żeby jakieś tam bzdury wyswietlić ale to już mniej istotne i to raczej potrafię zrobić tylko nie wiem jak te dwa pierwsze selecty połączyć. A czego nie użyjesz polecenia join i złączenia ON(tabela1.devid=tabela2.id) gdzie tabela1 i 2 to przykładowe aliasy. |
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%)
|
Napisałeś w pierwszym poście "dla danego devid" więc jaki w tym problem aby dodać warunek WHERE `devid` i działać z ORDER BY & LIMIT?
|
|
|
|
Post
#10
|
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 11.04.2009 Ostrzeżenie: (0%)
|
Napisałeś w pierwszym poście "dla danego devid" więc jaki w tym problem aby dodać warunek WHERE `devid` i działać z ORDER BY & LIMIT? Fakt można było to zdanie dwuznacznie odczytać. Chodziło mi o listę która by zawierała ostatni wpis dla każdego z urządzeń. Poniżej przykład napisałem co powinno wybrać. No ale już sobie poradziłem więc temat można zamknąć no chyba że można ten mój Select jakoś zoptymalizować. |
|
|
|
![]() ![]() |
|
Aktualny czas: 24.12.2025 - 20:23 |