Я перебрал людей, которые набрали полный балл за вызов разного уровня сложности.Тем не менее, вопрос гласит, что запрос hacker_id и имя людей, которые получили полный балл более одного раза.У меня проблема с COUNT.Я пытался посчитать частоту появления имени в таблице, но это мне не позволило.Я подозреваю, что с синтаксисом GROUPBY что-то не так.Кто-нибудь может мне помочь?
Предыдущий код
Select s.challenge_id,s.hacker_id,h.name,s.submission_id,c.difficulty_level,s.score
FROM (((Hackers AS h JOIN Submission AS s ON h.hacker_id=s.hacker_id)JOIN Challenges AS c ON c.challenge_id=s.challenge_id)JOIN Difficulty AS d ON d.difficulty_level=c.difficulty_level)
WHERE c.difficulty_level=d.difficulty_level and s.score=d.score
Результат
challenge_id | hacker_id | name |submission_id |difficulty_level |score
71055 86870 Todd 94613 2 30
66730 90411 Joe 97397 6 100
71055 90411 Joe 97431 2 30
Задача
Select g.hacker_id,g.name,COUNT(g.name)
FROM (Select s.challenge_id,s.hacker_id,h.name,s.submission_id,c.difficulty_level,s.score
FROM (((Hackers AS h JOIN Submission AS s ON h.hacker_id=s.hacker_id)JOIN Challenges AS c ON c.challenge_id=s.challenge_id)JOIN Difficulty AS d ON d.difficulty_level=c.difficulty_level)
WHERE c.difficulty_level=d.difficulty_level and s.score=d.score) AS g
WHERE COUNT(g.name)>1
GROUBY g.hacker_id,g.name;