首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在body中为该需求编写查询?

如何在body中为该需求编写查询?
EN

Stack Overflow用户
提问于 2020-02-06 19:28:52
回答 1查看 37关注 0票数 0

我想打印每个学生创建的挑战的hacker_id、名称和总数。按挑战总数降序对结果排序。如果多个学生创建了相同数量的挑战,则按hacker_id对结果进行排序。如果多个学生创建了相同数量的挑战,并且计数小于创建的最大挑战数量,则从结果中排除这些学生。

黑客表

挑战表

我已经尝试过这个查询

代码语言:javascript
复制
SELECT b.hacker_id
    ,a.name
    ,count(b.hacker_id)
FROM hackers AS a
INNER JOIN challenges AS b ON b.hacker_id = a.hacker_id
GROUP BY b.hacker_id
    ,a.name
ORDER BY count(b.hacker_id);

但是我没有得到预期的输出。

EN

回答 1

Stack Overflow用户

发布于 2020-02-06 19:31:38

代码语言:javascript
复制
SELECT a.hacker_id, ISNULL(count(c.challenge_id), 0)
FROM hackers a
LEFT JOIN challenges c ON c.hacker_id = a.hacker.id
group by a.hacker_id

使用left join,您将从左表(“黑客”)中获取所有元素,并计算每个元素的挑战(如果存在)。如果count(c.challenge_id)的结果将为NULL,则该值将被替换为0

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

https://stackoverflow.com/questions/60093947

复制
相关文章

相似问题

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