Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL]Grupowanie sql wyświetlanie najnowszych elementów
arzach
post
Post #1





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 27.11.2008

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


Witam mam taką tabelkę
ID data name
1 2012.11.06 a
1 2012.11.03 b
1 2012.11.07 c
1 2012.11.08 d
1 2012.11.05 e
2 2012.11.11 f
2 2012.11.13 g
2 2012.11.08 h
2 2012.11.08 i
2 2012.11.20 j
3 2012.11.11 k
3 2012.11.13 m
3 2012.11.08 n
3 2012.11.08 o
3 2012.11.20 p
3 2012.11.08 r

I grupuje ją po id
Czyli
  1. SELECT id, DATA, name FROM tabela GROUP BY id


I jak zrobić grupowanie żeby kolumny zwracały najnowszą wartość według daty ?

Wynik jaki chcę trzymać

ID data name
1 2012.11.08 d
2 2012.11.20 j
3 2012.11.13 m

Próbowałem coś z
  1. SELECT id, DATA, name FROM tabela WHERE MAX(DATA) GROUP BY id

ale nie działa.

Ten post edytował arzach 7.11.2012, 13:12:47
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
arzach
post
Post #2





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 27.11.2008

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


Nie działa

Chodzi mi o to że chce pogrupować po ID ponieważ chce pobrać po jednym najnowszym rekordzie z danego id i wszystkie te zapytanie co podaliście nie działają. Pobranie za pomocą MAX(data) nic nie daje ponieważ data nieodpowiadana danemu name
Czyli
Takie zapytanie
  1. SELECT id, MAX(DATA), name FROM tabela GROUP BY id

zwróci

1 2012.11.08 a
2 2012.11.20 f
3 2012.11.13 k

Czyli jak widać name nie odpowiada maksymalnej dacie

A ja chce dostać taki wynik

1 2012.11.08 d
2 2012.11.20 j
3 2012.11.13 m

Wie ktoś jak to zrobić ?

Ten post edytował arzach 7.11.2012, 20:29:18
Go to the top of the page
+Quote Post

Posty w temacie


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: 4.10.2025 - 02:04