Autor Zpráva
Lavka
Profil
Dobrý den,
řeším tu takový malý problém s SQL dotazem na MySQL. Jde tu o neduplicitní výběr dat z tabulky DISTINCTtem.
SELECT DISTINCT subject
FROM `timetable` 
WHERE `id_class`=1
Tento dotaz vrací jen jeden sloupec subject (logicky) ale já potřebuji vrátit 2 sloupce subject, id. Ovšem když napíšu tohle:
SELECT DISTINCT subject, id
FROM `timetable` 
WHERE `id_class`=1
tak výsledek ignoruje DISTINCT a vypisuje i duplicitní data.
Předem děkuji za odpověď.
Kajman
Profil
Distinct by měl zařídit vždy jedinečné řádky - tedy tu jedinečné kombinace (subject, id). Pokud chcete sloučit řádky je podle sloupce subject, můžete použít group by, ale pak je potřeba použít na ostatní sloupce agregační funkce, jinak to nedává smysl.

SELECT `subject`,
       Min(`id`) minimalni_id,
       Max(`id`) maximalni_id
FROM   `timetable`
WHERE  `id_class` = 1
GROUP  BY `subject` 

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: