Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Grupowanie wierszy, sortowanie
Forum PHP.pl > Forum > Bazy danych > MySQL
zaajcu
Cześć, Mam takie wiersze w bazie


  1. id | nazwa | wsp | ilosc | cena | typ | DATA
  2. 1 |test |1:23:42| 2341 |124 |4 | 2014-06-5 11:32
  3. 2 |test |1:23:42| 3251 |124 |4 | 2014-06-5 12:33
  4. 3 |test |1:23:42| 600 |124 |4 | 2014-06-5 11:35
  5. 4 |test2 |2:23:42| 2000 |124 |4 | 2014-06-5 11:37
  6. 5 |test2 |2:23:42| 3000 |124 |4 | 2014-06-5 11:38
  7. 6 |test2 |2:23:42| 4000 |124 |4 | 2014-06-5 11:32
  8. 7 |test2 |2:23:42| 120 |124 |4 | 2014-06-5 11:60


Zależy mi na tym aby pogrupować wg concat(nazwa,' ',wsp) i aby reszta była z wiersza o najnowszej dacie.

Jak to mogę zrobić.
mmmmmmm
No to masz nie lada problem... O ile dane, które pokazałeś są w miarę prawdziwe... DATA='2014-06-5 11:35' jest większa niż DATA='2014-06-15 11:35'
zaajcu
Dane są wyssane z palca, mogłem gdzieś zrobić literówkę, chciałem pokazać zarys koncepcji który chcę osiągnąć.
mmmmmmm
No to zarys zapytania:
  1. SELECT t.* FROM tabela t JOIN (SELECT nazwa, wsp, max(DATA) DATA FROM tabela GROUP BY nazwa, wsp) x ON t.nazwa=x.nazwa AND t.wsp=x.wsp AND t.DATA=x.DATA
zaajcu
Przerobiłem i mam tak:

  1. SELECT p.*, r.*
  2. FROM planets AS p JOIN (SELECT * FROM raports ORDER BY scan_date DESC LIMIT 0,1) r ON r.planet_id = p.id
  3. GROUP BY p.id


w planets mam 4 rekordy a z zapytania niestety dostaje 1 :/ co może być nie tak?

Zrobiłem left join i mam 4 recordy niestety 3 z nich mają same nulle :/

Po temacie wink.gif Miało ni być limit 1 wink.gif

Można zamykaćwink.gif
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.