题解 | #月总刷题数和日均刷题数#

月总刷题数和日均刷题数

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

SELECT COALESCE (DATE_FORMAT(submit_time, "%Y%m"),"2021汇总") AS submit_month,
	COUNT(submit_time) AS month_q_cnt, 
	ROUND(COUNT(submit_time)/MAX(DAY(last_day(submit_time))),3) AS avg_day_q_cnt
FROM practice_record
WHERE YEAR(submit_time) = 2021
GROUP BY DATE_FORMAT(submit_time, "%Y%m") WITH ROLLUP
全部评论
简单来说,每个月都有好多个submit_time,随之对应的就是last_day返回好多个31或者30,count(submit_time)是一个数,假定为6,那么6/(30,30,30,30,30,30)必然报错,所以我们要去重,用max,min,都行
27 回复 分享
发布于 2021-11-29 18:37
您好想请教一下代码为什么在SQLyog里运行会报错呀Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'test.practice_record.submit_time' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
3 回复 分享
发布于 2021-12-01 17:10
运行完 并没有给汇总重命名呢,还是none,通过不了该怎么解决呢
2 回复 分享
发布于 2022-04-25 10:58
COALESCE (DATE_FORMAT(submit_time, "%Y%m"),"2021汇总")这句是不是当DATE_FORMAT是null的时候才会返回2021汇总,但是表格里submit_time没有null,所以如何会返回2021汇总呢?求指教
2 回复 分享
发布于 2022-03-24 23:12
怎么这题,刚开始是我自己写,后来看题解,再后来复制题解代码,好多都是: SQL_ERROR_INFO: "Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'practice_record.submit_time' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by"
2 回复 分享
发布于 2022-01-11 16:50
COUNT(uid)才能提交
1 回复 分享
发布于 2022-02-07 09:52
想问为什么2021汇总,没有定义2021月度刷题汇总数,运行后自行汇总呀
点赞 回复 分享
发布于 2023-04-25 11:42 北京
请问为什么加了any_value(coalesce())返回的还是None?
点赞 回复 分享
发布于 2023-03-16 12:39 北京
上面这个程序我直接跑就出不来相应的结果,二是加上一个any_value(coalesce())返回的才是2021汇总,否则返回的是None
点赞 回复 分享
发布于 2023-02-24 13:31 上海
为何roll up在avg_day_q_cnt字段分母取得是31,不是30呢?
点赞 回复 分享
发布于 2022-06-17 19:14
COUNT(submit_time)/MAX(DAY(last_day(submit_time))) 执行有问题
点赞 回复 分享
发布于 2022-06-07 14:06
WITH ROLLUP 好像运行不了
点赞 回复 分享
发布于 2022-05-16 16:22
感觉是版本问题,运行不了
点赞 回复 分享
发布于 2022-04-20 10:51
答案运行错误
点赞 回复 分享
发布于 2022-04-12 21:14
要去掉重复值吧,用min也是一样的
点赞 回复 分享
发布于 2021-11-24 11:47
请问为什么 MAX(DAY(last_day(submit_time))) 前面加了一个max呢
点赞 回复 分享
发布于 2021-11-22 14:51

相关推荐

不愿透露姓名的神秘牛友
06-20 18:18
是不是意味着秋招就完蛋了
花不开柳成荫:如果你是Java,是的
点赞 评论 收藏
分享
评论
59
8
分享

创作者周榜

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