题解 | #计算男生人数以及平均GPA#

计算男生人数以及平均GPA

http://www.nowcoder.com/practice/7d9a7b2d6b4241dbb5e5066d7549ca01

解题思路

  1. 此题是要求男性,因此我们直接使用WHERE gender = 'male'将男性的数据查询出来;
  2. 要求查询出这些数据中的平均数,平均数无非就是总数/个数。

解题答案

方式一

SELECT COUNT(*) AS male_num, ROUND(SUM(gpa) / COUNT(*), 3) AS avg_gpa 
FROM user_profile 
WHERE gender = 'male';

上面的方式虽然也能得出答案,但是在计算平均数时,先去求,然后再次求总个数。这样就会发生重复计算一次总个数。

方式二

SELECT COUNT(*) AS male_num, ROUND(AVG(gpa), 3) AS avg_gpa 
FROM user_profile 
WHERE gender = 'male';

此方式性能更好。因此在进行where和count操作时,其实我们直接使用avg,MySQL会自动去计算总数和总个数。因此不需要方式一种的sum方式去计算。因此需要保留多位小数,我们直接使用round函数就可以了。

全部评论

相关推荐

2025-12-28 16:32
重庆邮电大学 Java
程序员花海:1.技能放最后,来面试默认你都会,技能没啥用 2.实习写的看起来没啥含金量,多读读部门文档,包装下 接LLM这个没含金量 也不要用重构这种 不会给实习生做的 3.抽奖这个还是Demo项目,实际在公司里面要考虑策略,满减,触发点,触发规则 库存 之类的,不是这个项目这么简单 4.教育背景提前,格式为 教育背景 实习 项目 技能 自我评价
简历被挂麻了,求建议
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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