Mam następujący problem. Posiadam bazę ze studentami, którzy posiadają oceny z danych przedmiotów. Wygląda to następująco:
CREATE TABLE IF NOT EXISTS `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nazwisko` varchar(255) NOT NULL, `przedmiot` varchar(55) NOT NULL, `wynik` double(2,1) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=9 ; INSERT INTO `test` (`id`, `nazwisko`, `przedmiot`, `wynik`) VALUES (1, 'Nowak', 'Matematyka', 3.5), (2, 'Nowak', 'Fizyka', 4.0), (3, 'Nowak', 'Metodyka', 4.5), (4, 'Nowak', 'Programowanie', 3.5), (5, 'Kowalska', 'Programowanie', 4.5), (6, 'Kowalska', 'Matematyka', 3.5), (7, 'Kowalska', 'Fizyka', 3.0), (8, 'Kowalska', 'Metodyka', 5.0);
I teraz potrzebuję wyciągnąć najlepszą i najgorszą ocenę czyli:
SELECT nazwisko, MAX(wynik), MIN(wynik) FROM test 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.