Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Grupowanie wierszy, sortowanie
zaajcu
post
Post #1





Grupa: Zarejestrowani
Postów: 206
Pomógł: 3
Dołączył: 18.08.2011
Skąd: Chrzanów

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


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ć.

Ten post edytował zaajcu 3.06.2014, 13:13:40
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
mmmmmmm
post
Post #2





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


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'
Go to the top of the page
+Quote Post
zaajcu
post
Post #3





Grupa: Zarejestrowani
Postów: 206
Pomógł: 3
Dołączył: 18.08.2011
Skąd: Chrzanów

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


Dane są wyssane z palca, mogłem gdzieś zrobić literówkę, chciałem pokazać zarys koncepcji który chcę osiągnąć.
Go to the top of the page
+Quote Post
mmmmmmm
post
Post #4





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


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
Go to the top of the page
+Quote Post
zaajcu
post
Post #5





Grupa: Zarejestrowani
Postów: 206
Pomógł: 3
Dołączył: 18.08.2011
Skąd: Chrzanów

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


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 (IMG:style_emoticons/default/wink.gif) Miało ni być limit 1 (IMG:style_emoticons/default/wink.gif)

Można zamykać(IMG:style_emoticons/default/wink.gif)

Ten post edytował zaajcu 6.06.2014, 14:05:01
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 Aktualny czas: 15.09.2025 - 04:44