Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL] zapytanie
Forum PHP.pl > Forum > Bazy danych > MySQL
kurt
mam taką tabelę:

  1. orders_id | orders_status_id | date_added
  2. 100 | 1 | 2014-01-10 21:42:36
  3. 101 | 1 | 2014-01-10 21:53:03
  4. 101 | 2 | 2014-01-13 11:01:03
  5. 102 | 1 | 2014-01-11 09:37:21
  6. 103 | 1 | 2014-01-11 09:40:21
  7. 102 | 2 | 2014-01-11 09:27:22
  8. 103 | 2 | 2014-01-12 09:30:20
  9. 103 | 3 | 2014-01-13 19:30:20
  10. 104 | 1 | 2014-01-11 10:37:21
  11. 104 | 3 | 2014-01-12 09:36:15


i chciałbym uzyskać w zapytaniu:
101|2|2014-01-13 11:01:03
102|2|2014-01-11 09:27:22

czyli tylko te rekordy, w których orders_status_id = 2 i date_added jest najświeższa, dlatego wynik nie powinien zawierać 103|2|2014-01-12 09:30:20
bo występuje 103|3|2014-01-13 19:30:20 które ma świeższą date_added.

jakieś pomysły ?

Uproszczę pytanie.
Wystarczy jak dostanę w wyniku wszystkie rekordy z najnowszą datą w date_added,
czyli:
  1. 100 | 1 | 2014-01-10 21:42:36
  2. 101 | 2 | 2014-01-13 11:01:03
  3. 102 | 1 | 2014-01-11 09:37:21
  4. 103 | 3 | 2014-01-13 19:30:20
  5. 104 | 3 | 2014-01-12 09:36:15


jakieś pomysły ?
mmmmmmm
  1. SELECT t.* FROM tabela t JOIN (SELECT orders_id, max(date_added) date_added FROM tabela GROUP BY ) x ON x.orders_id=t.orders_id AND x.date_added=x.date_added
kurt
Cytat(mmmmmmm @ 14.01.2014, 21:59:49 ) *
  1. SELECT t.* FROM tabela t JOIN (SELECT orders_id, max(date_added) date_added FROM tabela GROUP BY ) x ON x.orders_id=t.orders_id AND x.date_added=x.date_added


Wrzuciłem orders_id za (SELECT orders_id, max(date_added) date_added FROM tabela GROUP BY bo brakowało tego chyba ale i tak nie pomogło
mmmmmmm
Faktycznie, zabrakło...
A co to znaczy nie pomogło?
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-2024 Invision Power Services, Inc.