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

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

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
厉害厉害 简洁美观 大神 膜拜
6
送花
回复
分享
发布于 2022-01-06 09:05
秋招专场
校招火热招聘中
官网直投
这是我见过最漂亮最简洁的sql写法,就是不太明白其中的逻辑,以后我也按照这个格式多试试,感谢大佬
6
送花
回复
分享
发布于 2022-01-23 10:51
太低效,不可取
6
送花
回复
分享
发布于 2022-04-09 17:56
消息 8120,级别 16,状态 1,第 2 行 选择列表中的列 'user_profile.university' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。
4
送花
回复
分享
发布于 2021-10-11 16:00
我去,还能这么写的?
4
送花
回复
分享
发布于 2022-02-15 11:45
请问用where连接表和内连接表有什么区别吗?
点赞
送花
回复
分享
发布于 2022-07-31 15:54
不是说使用group by时,select后只能是group by的分组字段和使用聚合函数包裹的字段吗,为什么select后还能跟university
3
送花
回复
分享
发布于 2022-09-24 20:34 河南
大神都不需要连接表了,这么牛的
2
送花
回复
分享
发布于 2022-02-16 11:28
楼上的都没学过92语法?
2
送花
回复
分享
发布于 2022-02-23 22:30
效率低,不要因为代码好看,要高效~
1
送花
回复
分享
发布于 2022-08-23 15:35 湖北
隐式链接(implicit join)不建议用噢
1
送花
回复
分享
发布于 2023-07-26 12:16 美国
COUNT(t2.question_id) / COUNT(DISTINCT(t2.device_id)) as avg_answer_cnt 这句不理解啊
点赞
送花
回复
分享
发布于 2022-01-27 15:24
t1.university = '山东大学'为什么不能放having里呢?
点赞
送花
回复
分享
发布于 2022-03-20 17:07
真么想过可以直接多表联立的
点赞
送花
回复
分享
发布于 2022-04-13 17:44
t1 t2 t3 直接就可以这么定义了?不用as 吗
点赞
送花
回复
分享
发布于 2022-05-11 13:03
优美!
点赞
送花
回复
分享
发布于 2022-05-17 10:19
内联结
点赞
送花
回复
分享
发布于 2022-07-07 15:00
这样当出现左连接的时候就不适合when 这样简洁了吧
点赞
送花
回复
分享
发布于 2022-08-02 16:27
count不算聚合函数吗 在这可以用where
点赞
送花
回复
分享
发布于 2022-08-27 21:14 陕西

相关推荐

点赞 评论 收藏
转发
373 64 评论
分享
牛客网
牛客企业服务