Следующий код не работает как следует.
SELECT Species, FishName, Rank, Angler, lb, oz, dr, Drams, Peg, DateCaught
FROM
(SELECT Species, FishName, Rank, Angler, lb, oz, dr, Drams, Peg, DateCaught
FROM ConqPB
ORDER BY FishName, Drams DESC) a
WHERE Species = 'Common Bream'
GROUP BY FishName
ORDER BY Species ASC, Rank ASC, Drams ASC
Это список видов обыкновенного леща, который покажет список рекордов по весам для каждого имени рыбы И рыболова, который их поймал.
НО по какой-то неизвестной причине — и я не редактировал его, он перестал работать и теперь возвращает только одного лучшего рыболова, а не фактического лучшего.
Внутреннее утверждение проверило нормально и возвращает список имен рыб и расположило вес (драм) в порядке убывания. Когда это отображается, верхняя запись названия каждой рыбы — это максимальный вес улова. Внешнее утверждение сейчас терпит неудачу.
Любая помощь здесь будет очень признательна. Также я хотел бы знать, почему это перестало работать.
Пример:
Species FishName Drams Angler
Common Bream Henry 300 Peter Beard
Common Bream Henry 400 Harry Web
Common Bream Henry 0 Carl Pilk
Common Bream Darcy 0 Peter Beard
Common Bream Darcy 760 Harry Web
Common Bream Darcy 900 Carl Pilk
Результат будет
Общие Лещ Отчеты
Fishname Drams Angler
Henry 400 Harry Web
Darcy 900 Carl Pilk
select
*
from
t
inner join (
select
species, fishname, max(drams) as maxdrams
from
t
group by species, fishname
) sq on t.species = sq.species and t.fishname = sq.fishname and sq.maxdrams = t.drams
Других решений пока нет …