首页 文章详情

SQL每日一题(20231011)

SQL数据库开发 | 4 2023-10-15 14:24 0 0 0
UniSMS (合一短信)
点击关注公众号,SQL干货及时获取
后台回复:1024,获取海量学习资源
SQL刷题专栏
SQL145题系列


大家注意:

因为微信改了推送机制,会有小伙伴刷不到当天的文章,

一些比较实用的知识和信息,错过了就是错过了。

所以建议大家加个星标,就能第一时间收到推送了。

题目

G1011表包含所有员工,其中有三列:员工Id,公司名和薪水。

   

请编写SQL查询来查找每个公司的薪水中位数。

挑战点:你是否可以在不使用任何内置的SQL函数的情况下解决此问题。

中位数:

若记录数为奇数,取一条,否则取两条,如记录数为7,按顺序直接取第4名即是中位数, 记录数为6,按顺序则是第3,4名是中位数。


测试数据


CREATE TABLE G1011
(
ID INT,
Company VARCHAR(10),
Salary INT
)

INSERT INTO G1011 VALUES
(1,'A',8341),
(2,'A',9410),
(3,'A',10050),
(4,'A',15314),
(5,'A',8451),
(6,'A',9513),
(7,'B',10005),
(8,'B',13000),
(9,'B',11540),
(10,'B',10345),
(11,'B',12210),
(12,'B',9234),
(13,'C',12000),
(14,'C',8900),
(15,'C',9000),
(16,'C',10100),
(17,'C',8000)



参考答案

应读者的要求,我将参考答案公布了,有需要的同学可以在下方公众号「数据前线」(非本号)后台回复关键字:G1011,即可获取。还是建议先独立答题~

数据前线

后台回复关键字:1024,获取一份精心整理的技术干货
后台回复关键字:进群,带你进入高手如云的交流群。

推荐阅读

good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter