Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL] Najmłodszy z grupy
Forum PHP.pl > Forum > Przedszkole
Grzyw
Nie wiedziałem, jak nazwać wątek, podam przykładową strukturę tabeli uczen.

id_uczen | id_klasa | imie | nazwisko |

Chciałbym wybrać z tej tabeli po jednym uczniu z najwyższym ID z każdej klasy.

Próbowałem:
  1. SELECT *
  2. FROM uczen
  3. GROUP BY id_klasa

Dostaję niestety uczniów z najniższym, nie najwyższym ID.
Zaproponujecie coś?smile.gif
seth-kk
  1. SELECT * FROM uczen GROUP BY id_klasa ORDER BY id_uczen DESC;



// GROUP działa przed ORDER chyba...
// ayeo
ayeo
  1. SELECT MAX(id_uczeń) FROM uczen GROUP BY id_klasa;


Pozdrawiam!
seth-kk
umm faktycznie - mialem sprawdzic przed opublikowaniem sciana.gif
Grzyw
Cytat(ayeo @ 11.08.2009, 10:24:35 ) *
  1. SELECT MAX(id_uczeń) FROM uczen GROUP BY id_klasa;


Pozdrawiam!

Dziękuję, ale nie rozwiązało to do końca mojego problemu.
Gdy wrzucam:

  1. SELECT MAX(id_uczeń),uczen.* FROM uczen GROUP BY id_klasa;

do faktycznie oczekiwanego id_uczen dokleja rekord z najniższym ID...
nospor
  1. SELECT * FROM uczen WHERE id_uczen IN (SELECT MAX(id_uczen) FROM uczen GROUP BY id_klasa)
bmL
Albo może
  1. SELECT DISTINCT id_klasa, id_uczen, imie, nazwisko FROM uczen ORDER BY id_uczen DESC

Jeżeli zadziała to powinno być wydajniejsze od tego co napisał poprzednik.

Czyżbyś robił kopie naszej klasy? smile.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.