题解 | #出现三次以上相同积分的情况#

出现三次以上相同积分的情况

https://www.nowcoder.com/practice/c69ac94335744480aa50646864b7f24d

这道题目要求我们从积分表中查找出出现次数大于或等于三次的积分值,我们要做的事情如下:

1. 确定总体问题

们需要从积分表中提取数据,按积分值进行分组,计算每个积分值的出现次数,然后筛选出出现次数大于或等于三次的积分值,并按升序排列输出。

2. 分析关键问题

  • 分组统计积分值出现次数:按积分值进行分组,计算每个积分值的出现次数。
  • 筛选出现次数大于或等于三次的积分值:通过条件过滤,筛选出出现次数大于或等于三次的积分值。
  • 排序输出:按积分值升序排列输出结果。

3. 解决每个关键问题的代码及讲解

步骤1:分组统计积分值出现次数

我们使用GROUP BY子句按积分值进行分组,并使用COUNT函数计算每个积分值的出现次数:

select
    count(*) as num,
    number
from
    grade
group by
    number
  • GROUP BY number:按积分值进行分组。
  • COUNT(*) AS num:计算每个积分值的出现次数。
步骤2:筛选出现次数大于或等于三次的积分值

我们使用WHERE子句筛选出出现次数大于或等于三次的积分值:

where
    num >= 3
  • WHERE num >= 3:筛选出出现次数大于或等于三次的积分值。
步骤3:排序输出

我们使用ORDER BY按积分值升序排列输出结果:

order by
    number asc
  • ORDER BY number ASC:按积分值升序排列。

完整代码

select
    number
from
    (
        select
            count(*) as num,
            number
        from
            grade
        group by
            number
    ) sub
where
    num >= 3
order by
    number asc;
全部评论

相关推荐

06-07 19:59
门头沟学院 C++
补药卡我啊😭:都快15年前的了还在11新特性
你的简历改到第几版了
点赞 评论 收藏
分享
05-07 19:10
已编辑
中国科学技术大学 C++
silly01:现在先去 momenta,8-9月去鹅找日常实习,八股文算法背好了你这随便进。不过建议补充一下后端知识,MySQL、Redis看下八股,再补个6824,加点go后台的技术栈,9月随便进大厂。CPP后端只能来WXG
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务