题解 | #统计每个用户的平均刷题数#

统计每个用户的平均刷题数

http://www.nowcoder.com/practice/f4714f7529404679b7f8909c96299ac4

SELECT 
    t1.university,
    t3.difficult_level,
    COUNT(t2.question_id) / COUNT(DISTINCT(t2.device_id)) as avg_answer_cnt
from 
    user_profile as t1,
    question_practice_detail as t2,
    question_detail as t3
WHERE 
    t1.university = '山东大学'
    and t1.device_id = t2.device_id
    and t2.question_id = t3.question_id
GROUP BY
    t3.difficult_level;

全部评论
这不就是92的内连接,我感觉运行会慢点吧
1 回复 分享
发布于 2022-03-10 12:48
这是我见过最漂亮最简洁的sql写法,就是不太明白其中的逻辑,以后我也按照这个格式多试试,感谢大佬
8 回复 分享
发布于 2022-01-23 10:51
太低效,不可取
7 回复 分享
发布于 2022-04-09 17:56
厉害厉害 简洁美观 大神 膜拜
7 回复 分享
发布于 2022-01-06 09:05
请问用where连接表和内连接表有什么区别吗?
点赞 回复 分享
发布于 2022-07-31 15:54
大神都不需要连接表了,这么牛的
4 回复 分享
发布于 2022-02-16 11:28
我去,还能这么写的?
4 回复 分享
发布于 2022-02-15 11:45
消息 8120,级别 16,状态 1,第 2 行 选择列表中的列 'user_profile.university' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。
4 回复 分享
发布于 2021-10-11 16:00
不是说使用group by时,select后只能是group by的分组字段和使用聚合函数包裹的字段吗,为什么select后还能跟university
3 回复 分享
发布于 2022-09-24 20:34 河南
效率低,不要因为代码好看,要高效~
2 回复 分享
发布于 2022-08-23 15:35 湖北
楼上的都没学过92语法?
2 回复 分享
发布于 2022-02-23 22:30
隐式链接(implicit join)不建议用噢
1 回复 分享
发布于 2023-07-26 12:16 美国
我甚至想开窗,人和人差距真的很大
点赞 回复 分享
发布于 04-28 11:39 广东
为什么不能用id进行连接啊!哪个大佬可以解答一下
点赞 回复 分享
发布于 2024-09-11 17:36 北京
这也行
点赞 回复 分享
发布于 2024-06-15 22:35 上海
两个问题: select子句中的university没使用聚集函数导致SQL语法错误 select子句中的avg_answer_cnt未按照要求四舍五入导致结果精度错误
点赞 回复 分享
发布于 2024-03-18 23:17 北京
这是最优解吗?我写的是 select university, difficult_level, count(B.question_id) / COUNT(distinct (B.device_id)) as avg_answer_cnt from user_profile as A join question_practice_detail as B on A.device_id = B.device_id JOIN question_detail as C on B.question_id = C.question_id Group by university, difficult_level having university = '山东大学' 哪个运行的快点?
点赞 回复 分享
发布于 2023-07-13 15:06 广东
还有这种操作???打开了新大陆
点赞 回复 分享
发布于 2023-07-06 11:57 北京
select aaa.university, ccc.difficult_level, count(bbb.question_id)/count(distinct aaa.device_id) as canjia_ans from user_profile as aaa inner join question_practice_detail as bbb on aaa.device_id = bbb.device_id inner join question_detail as ccc on bbb.question_id = ccc.question_id where aaa.university = "山东大学" group by aaa.university, ccc.difficult_level
点赞 回复 分享
发布于 2023-06-19 17:26 北京
效率低
点赞 回复 分享
发布于 2023-02-22 17:15 浙江

相关推荐

不愿透露姓名的神秘牛友
06-20 20:30
工作没了,落户没了,什么都没了
梦想是成为七海千秋:是因为什么原因呀,如果是因为导师恶意卡你就和他爆了
点赞 评论 收藏
分享
05-23 20:31
已编辑
武汉大学 Java
内向的柠檬精在研究求职打法:注意把武大标粗标大 本地你俩不是乱杀
点赞 评论 收藏
分享
评论
445
71
分享

创作者周榜

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