最简单的方法

考试分数(四)

http://www.nowcoder.com/questionTerminal/502fb6e2b1ad4e56aa2e0dd90c6edf3c

发现这样也可以呦,简单易懂

SELECT job, 
    floor(( count(*) + 1 )/ 2 ) AS "start", 
    floor(( count(*) + 2 )/ 2 ) AS 'end' 
FROM grade 
GROUP BY job 
ORDER BY job
全部评论
FLOOR(count(job)/2+0.5),CEIL(count(job)/2+0.5) 供参考
1 回复 分享
发布于 2021-10-05 16:52
对自己的思路陷入沉思- -
5 回复 分享
发布于 2021-05-09 18:28
把 floor(( count(*) + 2 )/ 2 ) AS "end" 改成 ceil(( count(*) + 1 )/ 2 ) AS 'end' 应该更简单
4 回复 分享
发布于 2021-02-28 19:11
floor() 函数返回小于或等于指定值(value)的最小整数,取整,没有四舍五入这一说法 floor(103.56) 返回 103 floor(103.46) 返回 103 帮lz补充的 原文链接: https://www.cnblogs.com/wml-it/p/12751796.html
1 回复 分享
发布于 2022-04-04 15:55
果然很简单。。。
点赞 回复 分享
发布于 2021-01-27 15:36
确实简单高效
点赞 回复 分享
发布于 2021-05-19 16:17
提示没有FLOOR这个函数呀
点赞 回复 分享
发布于 2021-06-04 15:49
floor函数什么功能
点赞 回复 分享
发布于 2021-06-15 13:06
太优秀了
点赞 回复 分享
发布于 2021-07-19 17:06
你这个不严谨啊,中位数得到的应该是每门科目的成绩按照升序排好后的位置,你这个只是得到了中位数
点赞 回复 分享
发布于 2021-10-10 18:28
投机取巧
点赞 回复 分享
发布于 2022-03-08 12:27
select job, floor(count(id)/2+0.5) as 'start' ceiling(count(id)/2+0.5) as 'end' from grade group by job order by job;
点赞 回复 分享
发布于 2022-03-25 22:52
floor可以替换成truncate SELECT job, truncate(( count(*) + 1 )/ 2,0) AS "start", truncate(( count(*) + 2 )/ 2,0 ) AS 'end' FROM grade GROUP BY job ORDER BY job
点赞 回复 分享
发布于 2022-05-29 15:16
看到大神的思路清晰简单,感觉自己缺失了脑干
点赞 回复 分享
发布于 2022-08-08 00:43
+1,日常怀疑自己是有多蠢
点赞 回复 分享
发布于 2023-03-27 20:54 广东
SELECT job,ROUND(COUNT(score)/2,0), CASE WHEN COUNT(score) % 2 = 1 THEN ROUND(COUNT(score)/2,0) ELSE ROUND(COUNT(score)/2+1,0) END FROM grade GROUP BY job ORDER BY job
点赞 回复 分享
发布于 01-19 16:09 浙江
太叼了
点赞 回复 分享
发布于 09-26 10:55 北京
只能说牛
点赞 回复 分享
发布于 10-28 11:06 湖北
这个确实投机了,数据大点就不行了哈哈
点赞 回复 分享
发布于 11-15 15:58 广东

相关推荐

不愿透露姓名的神秘牛友
11-20 19:57
已编辑
某大厂 golang工程师 23.0k*16.0, 2k房补,年终大概率能拿到
点赞 评论 收藏
分享
180 7 评论
分享
牛客网
牛客企业服务