Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Добрый день. Найти максимальный рост по каждой группе.

Александр Соловьев Мастер (1455), закрыт 4 года назад
Даны таблицы

Таблица Dogs
IDNameHeightFatherBreed
1Sed6757 8 1
2Der8953 4 4
3Vot5645 60 2
4Saq9654 6 5
5Mer3446 5 6 3
6Let7857 14 4
7Vert34765 6 6 1
8Bon56756 7 2

Breeds
IDName
1pug
2dalmatian
3buldog
4shepherd
5dachshung

Таблицы связаны друг с другом Dogs.Breed = Breeds.ID
Задача вывести список собак с максимальным ростом по каждой породе.

Мой код
SELECT Breeds.Name, Dogs.Height
FROM Dogs INNER JOIN Breeds ON Dogs.Breed = Breeds.ID
WHERE Dogs.Height IN (SELECT MAX(Dogs.Height) FROM Dogs INNER JOIN Breeds ON Dogs.Breed = Breeds.ID);

Делал сам, но не получилось. Спасибо большое.
Лучший ответ
alexus Профи (703) 4 года назад
select a.Name,ss.Name as BreedName,a.Height from Dogs a INNER JOIN (select b.ID, b.Name,max(d.Height) as H from Dogs d LEFT JOIN Breeds b ON b.ID=d.Breed group by b.Name) ss ON a.Breed=ss.ID AND a.Height=ss.H

Внутренний запрос находит максимальный рост по всем породам. По этой информации мы находим записи из таблицы собак. Данный скрипт по идее должен показать даже всех собак одной породы с одинаковым ростом
Остальные ответы
Александр Искусственный Интеллект (290646) 4 года назад
делай ещё раз

пишешь что нужно "список собак с максимальным ростом по каждой породе"
а код у тебя выводит наименование породы и рост....
где логика?...

ты вручную, без своего кода, какой результат получил бы?...
Похожие вопросы