Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> LAST ROW, GROUP BY, ORDER BY
Hosiek3210xD
post 18.06.2022, 00:22:32
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 24.05.2022

Ostrzeżenie: (0%)
-----


Mam jeden malutki problem. Chce pobrać ostatni wpis z bazy który spełni połączenie grupowania.
Mój zapis niby działa ale nie do końca. Pobiera dobrze last id, lecz resztę danych bierze z pierwszego udanego połączenie group by. chciałbym pobrać dane z ostatniego.
Oto Mój zapis:
  1. SELECT MAX(id_nachricht) AS last, id_nachricht, id_anzeige, user_from, user_to, nachricht FROM `nachrichten` WHERE `user_from`='{$user}' OR `user_to`='{$user}' GROUP BY id_anzeige, user_from + user_to ORDER BY last DESC


Oto struktura:

  1. id_nachricht|id_anzeige|user_from|user_to|nachricht|time
  2. 29|87|7|1|test1|0000000
  3. 30|87|1|7|test2|0000000
  4. 31|87|7|1|test3|0000000
  5. 32|87|1|7|test4|0000000


Moje zapytanie zwraca mi ostatni wpis jako last 31, lecz reszta danych bierze z id 29. Jak do tego inaczej podejsc?
Go to the top of the page
+Quote Post
trueblue
post 18.06.2022, 06:43:43
Post #2





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Jak? Zacząć od Google:
https://ubiq.co/database-blog/get-last-record-group-mysql/
https://thispointer.com/retrieving-the-last...ach-group-mysql


--------------------
Go to the top of the page
+Quote Post
Hosiek3210xD
post 18.06.2022, 15:42:17
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 24.05.2022

Ostrzeżenie: (0%)
-----


Cytat(trueblue @ 18.06.2022, 07:43:43 ) *

Szukałem lecz nie znalazłem podanych przez ciebie przykładów.
Dzięki bardzo, z tym przykładem udało mi się rozwiązać problem.
Efekt koncowy:
  1. SELECT nachrichten.* FROM `nachrichten`, (SELECT MAX(id_nachricht) AS last, id_anzeige, user_from, user_to FROM `nachrichten` WHERE `user_from`='{$user}' OR `user_to`='{$user}' GROUP BY id_anzeige, user_from + user_to) max_nachricht WHERE nachrichten.id_nachricht = max_nachricht.last ORDER BY max_nachricht.last DESC
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 27.04.2024 - 20:09