Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: najwyższa wartość dla danego user_id
Forum PHP.pl > Forum > Przedszkole
omj
Witam,
mam takie zapytanie:
  1. SELECT
  2. members.id, members.name, members.lastname, payments.id, payments.user_id, payments.begin_date, payments.finish_date, payments.price
  3. FROM members, payments
  4. WHERE members.id=payments.user_id
  5. AND payments.finish_date>=CURDATE()
  6. ORDER BY payments.finish_date
  7. ASC, payments.id ASC

jak to przerobić aby zapytanie pobierało tylko wiersz tabeli gdzie jest najwyższe finish_date dla user_id?

W tej chwili pobiera mi wszystkie wpisy dla user_id, które mają finish_date większą od CURDATE(), a bym chciał aby pobierało tylko ostatnio dodany wpis czyli chyba ten z największą finish_date.

Jakby ktoś był tak miły i pomógł to będę wdzięczny :-)
werdan
Dodaj LIMIT 1 i posortuj DESC
omj
Chodzi o pobranie Max(finish_date) group by user_id.
Czyli chodzi mi o pobranie wszystkich klientow, ktorym nie skonczyl sie czas. Niektorzy zaplacili przed koncem poprzedniego okresu i sa wyswietlani dwaxrazy.
Imo nie wiem jak to zapytanie przerobic.
werdan
Tu znajdziesz pare rozwiazań podobnego problemu:
http://stackoverflow.com/questions/1358278...similar-entries
omj
Dziękuję piknie.

Wygląda na to, że działa mi takie zapytanie:
  1. SELECT
  2. members.id, members.name, members.lastname
  3. FROM members
  4. JOIN
  5. (
  6. SELECT payments.id, payments.user_id, payments.begin_date, MAX(payments.finish_date) AS finish_date, payments.price
  7. FROM payments
  8. GROUP BY payments.user_id
  9. )
  10. AS payments
  11. WHERE members.id=payments.user_id AND payments.finish_date>=CURDATE() ORDER BY payments.finish_date ASC, payments.id ASC

ale, dane z tabeli payments nie są zwracane, np kod:
  1. echo stripslashes($wiersz['begin_date']);

nie wyświetla mi wartości.
Czy może ktoś mi podpowiedzieć co robię nie tak?
nospor
W select mowisz, ze zapytanie ma zwracac tylko takie kolumny:
members.id, members.name, members.lastname

a potem w php nie z gruszki ni z pietruszki probujesz pobrac begin_date :/
omj
Cytat(nospor @ 18.11.2013, 16:20:10 ) *
W select mowisz, ze zapytanie ma zwracac tylko takie kolumny:
members.id, members.name, members.lastname

a potem w php nie z gruszki ni z pietruszki probujesz pobrac begin_date :/

a wiesz może jak to zapisać coby zapytanie zwróciło te wartości? :-)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.