SQL语句面试题

发布于 2022-09-02 14:44:27 字数 180 浏览 11 评论 0

问题描述

一张表,id class score,一条SQL语句,获得每个班级大于60分和小于60分的个数,结果为:
班级 大于60 小于60
A1 2 3
A2 1 2

补充

采纳了答案,我在想有没有更简单或者效率更高的sql语句

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

就是爱搞怪 2022-09-09 14:44:27

是这样吧。

SELECT
  class as 班级,
  (select count(score) from score c1 where score > 60 and c.class = c1.class) as 大于60,
  (select count(score) from score c2 where score < 60 and c.class = c2.class) as 小于60
FROM
    score c
GROUP BY
    class;
假装爱人 2022-09-09 14:44:27
select class count(score as sc_under60) count(score as sc_above60)
from 表
where sc_under60 < 60 and sc_above60 > 60
group by class;

是这个意思么?

暮年 2022-09-09 14:44:27

这样会好些吧!

SELECT class as 班级, COUNT(CASE when score>=60 THEN score END) as 大于60, COUNT(CASE when score<60 THEN score END) as 小于60 FROM test_class GROUP BY class
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文