以下问题基于HackerRank问题here。内容如下:
Julia要求她的学生提出一些编码挑战。写一个 查询以打印hacker_id,名称和挑战总数 由每个学生创建。将结果按总数排序 降序挑战。如果有多个学生创建了 相同数量的挑战,然后按hacker_id对结果进行排序。如果更多 比一个学生创造相同数量的挑战和数量 小于创建的最大挑战数,然后排除 结果中的那些学生。
在挑战中,我提交了以下内容,但由于某种原因,存在语法错误。有什么问题吗?
select h.hacker_id
, h.name
, count(c.challenge_id) count1
from hackers h
join challenges c
on c.hacker_id = h.hacker_id
where h.hacker_id not in
(select hh.hacker_id
from hackers hh
join challenges cc
on cc.hacker_id = hh.hacker_id
join
( select hhh.hacker_id
, count(ccc.challenge_id) count2
from hackers hhh
join challenges ccc
on ccc.hacker_id = hhh.hacker_id
group
by hhh.hacker_id
having count(ccc.challenge_id) <
(select max(count2)
from
( select count(cc.challenge_id) count2
from hackers hh
join challenges cc
on hh.hacker_id = cc.hacker_id
) a
) b
) t
on t.hacker_id <> hh.hacker_id
) c
group
by h.hacker_id
, h.name
order
by count(c.challenge_id)
, h.hacker_id desc
答案 0 :(得分:0)
我无法评论其后的有效性,但至少在语法上是有效的...
String