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
agamemnon
post
Post #2





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 21.09.2006

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


mmmmmmm - to zapytanie nie zwraca pojedynczych rekordów id_pracownika.
Użycie
  1. MIN(`godzina`)
zakłamie wyniki bo nie zawsze szukamy pracownika który pracuje najwcześniej.
Np. pracownik ma godzinę 6,7,8,9 a potrzebujemy kogoś na 10 to zapytanie zwroci 6.
  1. (`godzina`-8) AS Liczba
ma za zadanie znaleźć pracowników którzy będą "najbliżej poszukiwanej" godziny (w tym przypadku ósmej)

Gdyby dało się wyrzcić pracowników z "Liczba" najbliższym zera to by mnie satysfakcjonowało.

Ten post edytował agamemnon 8.11.2012, 13:32:29
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: 27.12.2025 - 07:31