Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL] Grupowanie danych
adasiu
post
Post #1





Grupa: Zarejestrowani
Postów: 65
Pomógł: 7
Dołączył: 18.01.2007
Skąd: Tychy

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


Witam,

Mam następujący problem. Posiadam bazę ze studentami, którzy posiadają oceny z danych przedmiotów. Wygląda to następująco:
  1. CREATE TABLE IF NOT EXISTS `test` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `nazwisko` varchar(255) NOT NULL,
  4. `przedmiot` varchar(55) NOT NULL,
  5. `wynik` double(2,1) NOT NULL,
  6. PRIMARY KEY (`id`)
  7. ) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=9 ;
  8.  
  9. INSERT INTO `test` (`id`, `nazwisko`, `przedmiot`, `wynik`) VALUES
  10. (1, 'Nowak', 'Matematyka', 3.5),
  11. (2, 'Nowak', 'Fizyka', 4.0),
  12. (3, 'Nowak', 'Metodyka', 4.5),
  13. (4, 'Nowak', 'Programowanie', 3.5),
  14. (5, 'Kowalska', 'Programowanie', 4.5),
  15. (6, 'Kowalska', 'Matematyka', 3.5),
  16. (7, 'Kowalska', 'Fizyka', 3.0),
  17. (8, 'Kowalska', 'Metodyka', 5.0);


I teraz potrzebuję wyciągnąć najlepszą i najgorszą ocenę czyli:
  1. SELECT nazwisko, MAX(wynik), MIN(wynik) FROM test
  2. GROUP BY nazwisko

A czy da się dopisać do tego przedmioty z których zostały uzyskane te oceny, czyli tak żeby była wyświetlana najlepsza ocena oraz przedmiot z którego została uzystkana i najgorsza ocena i przedmiot.

Z góry dziękuję za pomoc,
Pozdrawiam.
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: 22.08.2025 - 14:26