最简单的方法

考试分数(四)

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
对自己的思路陷入沉思- -
6 回复 分享
发布于 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
并没有升序操作啊,只有行数中位数
点赞 回复 分享
发布于 10-19 19:37 江苏
太巧妙了啊
点赞 回复 分享
发布于 05-06 20:33 山东
这个确实投机了,数据大点就不行了哈哈
点赞 回复 分享
发布于 2024-11-15 15:58 广东
只能说牛
点赞 回复 分享
发布于 2024-10-28 11:06 湖北
太叼了
点赞 回复 分享
发布于 2024-09-26 10:55 北京
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
点赞 回复 分享
发布于 2024-01-19 16:09 浙江
+1,日常怀疑自己是有多蠢
点赞 回复 分享
发布于 2023-03-27 20:54 广东
看到大神的思路清晰简单,感觉自己缺失了脑干
点赞 回复 分享
发布于 2022-08-08 00:43
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
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
投机取巧
点赞 回复 分享
发布于 2022-03-08 12:27
你这个不严谨啊,中位数得到的应该是每门科目的成绩按照升序排好后的位置,你这个只是得到了中位数
点赞 回复 分享
发布于 2021-10-10 18:28
太优秀了
点赞 回复 分享
发布于 2021-07-19 17:06
floor函数什么功能
点赞 回复 分享
发布于 2021-06-15 13:06
提示没有FLOOR这个函数呀
点赞 回复 分享
发布于 2021-06-04 15:49
确实简单高效
点赞 回复 分享
发布于 2021-05-19 16:17

相关推荐

huo12138:校友,传奇耐面王
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-21 11:29
已编辑
斯卡蒂味的鱼汤:知道你不会来数马,就不捞你😂最近数马疯狂扩招,招聘要求挺低的,你能力肯定够,应该就是因为太强了,知道你不会来才不捞你
投递腾讯云智研发等公司10个岗位
点赞 评论 收藏
分享
评论
208
8
分享

创作者周榜

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