首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自hackerrank的T挑战

来自hackerrank的T挑战
EN

Stack Overflow用户
提问于 2017-03-14 01:30:34
回答 8查看 9K关注 0票数 0

朱莉娅让她的学生创造一些编码挑战。编写一个查询,以打印hacker_id、名称和每个学生创建的挑战总数。将结果按挑战总数按降序排序。如果不止一个学生创造了相同数量的挑战,那么按hacker_id对结果进行排序。如果多个学生创建了相同数量的挑战,且数量少于所创建的最大挑战数,则将这些学生排除在结果之外。

输入格式

下表载有质疑数据:

黑客: hacker_id是黑客的id,名字是黑客的名字。黑客表

挑战: challenge_id是挑战的id,hacker_id是发起挑战的学生的id。挑战表

这是我写的查询

代码语言:javascript
复制
select H.hacker_id,H.name,T.challenges_created 
from Hackers H  join 
(SELECT hacker_id , 
       COUNT(Challeneges.challenge_id) as challenges_created 
FROM  Challenges 
GROUP BY hacker_id
HAVING challenges_created >= max(challenges_created) 
) T
on H.hacker_id=T.hacker_id
ORDER BY T.challenges_created desc, H.hacker_id asc 

但我说错了

Msg 207,级别16,State 1,Server WIN-ILO9GLLB9J0,第12行无效列名“column _created”。Msg 207,级别16,State 1,Server WIN-ILO9GLLB9J0,第12行无效列名“column _created”。Msg 4104,级别16,状态1,服务器WIN-ILO9GLLB9J0,第9行多部分标识符"Challeneges.challenge_id“无法绑定。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2017-03-14 01:32:29

代码语言:javascript
复制
Line 9 The multi-part identifier "Challeneges.challenge_id" could not be bound.

看来你把Challenges拼错了。

票数 1
EN

Stack Overflow用户

发布于 2020-05-18 07:22:59

代码语言:javascript
复制
select C.Hacker_id, H.Name, count(challenge_id)
from Hackers H Inner Join Challenges C
ON H.Hacker_Id = C.Hacker_Id
group by C.Hacker_Id, H.Name
having count(challenge_id) not in (select x.ChallengeCount from (  
    select C.Hacker_id, H.Name, count(challenge_id) as ChallengeCount
    from Hackers H Inner Join Challenges C
    ON H.Hacker_Id = C.Hacker_Id
    group by C.Hacker_Id, H.Name
 ) x
where x.ChallengeCount <> (select top 1 count(challenge_id) from Challenges group by hacker_Id order by 1 desc) 
group by x.ChallengeCount
having count(x.challengecount) > 1)
order by 3 desc, 1
票数 1
EN

Stack Overflow用户

发布于 2021-01-05 06:51:12

从黑客中选择c.hacker_id,h.name,COUNT(c.challenge_id)作为cnt,挑战c,h.hacker_id = c.hacker_id组,h.name拥有计数(c.challenge_id)=(从挑战c1组中选择最大计数(计数(c1.challenge_id))或非cnt计数(c.challenge_id)(从挑战c.challenge_id组中选择计数(c2.challenge_id),从挑战c2组( c2.hacker_id BY c2.hacker_id <> c.hacker_id)选择计数(c2.challenge_id)),按cnt DESC,c.hacker_id排序;

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42776304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档