[SQL] Contest Leaderboard(hackerrank)
問題を解く グループbyとサブクエリを使用します. 大会では、ユーザが複数のテストで提出した最高点数の合計. に条件(0以上しか出力しない)を追加する必要があるので、もっと難しいです. groupbyを複数回使用する必要がある場合は、select~fromセクション全体を1つのテーブルに配置し、mysqlでatのように名前を付けてエラーを回避する必要があります. groupbyと書く場合、where節を同時に書くことは不可能です.もう一度クエリーで囲み、haveでいいと気づき、また修正しました.
/*
Enter your query here.
*/
select hacker_id, name, sum(score) as total_score
from(
select s.hacker_id,h.name, challenge_id, max(score) as score
from submissions s inner join hackers h on h.hacker_id=s.hacker_id
group by hacker_id,h.name, challenge_id
)
as t
group by hacker_id, name
having total_score>0
order by total_score desc, hacker_id asc;
覚えておきたい🧐
Reference
この問題について([SQL] Contest Leaderboard(hackerrank)), 我々は、より多くの情報をここで見つけました https://velog.io/@crosstar1228/SQL-Contest-Leaderboardテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol