сортировка по подчиненной таблице и group by

sanich

Новичок
сортировка по подчиненной таблице и group by

Есть таблица trening и trening_files отношение между ними 1 ко многим
в таблице trening_files есть поле checked по которому нужно отсортировать
Вот что пробовал:
Код

SELECT t.id_trening,f.checked FROM trening t, trening_files f
where t.id_trening = f.id_trening
ORDER BY f.checked desc



id_trening checked
4 no
2 no
2 no
3 no
1 yes
4 yes
3 yes
2 yes
1 yes
5 yes

В результате в поле id_trening есть дублирующие записи, дубликаты нужно убрать, сотрировка верно работает, из скрина видно, что если подавить дубликаты id_trening, то в поле id_trening числа должны стоять имеенно в такой последовательности и это то, что мне нужно

id_trening
4
2
3
1
5

Убираю дубликаты с помощью group byКод

SELECT t.id_trening,f.checked FROM trening t, trening_files f
where t.id_trening = f.id_trening
group by t.id_trening ORDER BY f.checked desc



Получаю результат не в той последовательности, что есть неправильно

id_trening checked
2 no
3 yes
4 yes
5 yes
1 yes
 

Sepuka

Новичок
при группировки происходит и сортировка по группируемому полю. А что если убирать повторы не группировкой, а к destinct'ом?
 

Gas

может по одной?
во втором запросе вместо f.checked поставить sum('no' = f.checked) AS cnt_checked и сортируй потом по cnt_checked
 
Сверху