点击关注公众号,SQL干货及时获取
后台回复:1024,获取海量学习资源 往期热文
大家好,我是岳哥。
最近在牛客网上看到一张图片,展示的是各互联网大厂的月薪分布,从分布结果来看,50K以上占比最高的是字节和拼多多,30~50k占比最高的是贝壳,其次是阿里。阿里的能理解,贝壳工资怎么这么高?
从这张图上岳哥看到了这几点,不知大家是否也这么认为?
互联网行业的依旧能打
图中大部分互联网公司在高薪区间(如30K-50K和50K+)的员工比例较大。互联网公司对高端人才还是非常重视的,特别是现在AI爆火,又一轮新的“抢人大战”要开始了,当然这仅限头部的互联网公司。
薪资比例间接反映市场地位
如拼多多、字节、腾讯和阿里巴巴,在高薪区间(30K-50K和50K+)的员工比例非常高,与这些公司在某些方面占市场主导地位密不可分。
而类似知乎,小红书等规模中等的企业,因为市场地位、发展阶段和业务特点,在薪酬上更趋向于稳健,并不是单纯追求高薪。
行业竞争依旧激烈
特别是电商,后起之秀拼多多一举冲到市场前列,这与其对人才的争夺密不可分,尤其是在技术、产品和运营等关键岗位上,更加愿意提供高薪以吸引最优秀的人才,尽管“砍一刀”一直遭人诟病。
人才更加聚集
这个是不言而喻的,大家工作都是为了赚更多的钱钱,薪资高,肯定会吸引更多优秀的人才进入这个行业,只是现在人才趋于饱和,要想再进大厂会比以前难多了。
看了下自己的工资,岳哥留下了羡慕的泪水。。。
以下是今天的SQL干货
有如下一张表T20200228,
希望得到如下结果
测试代码
create table T20200228
(
id int,
pid int
)
insert into T20200228 values (1,0);
insert into T20200228 values (2,1);
insert into T20200228 values (3,2);
insert into T20200228 values (4,3);
select * from T20200228;
参考答案
-- SQL server
WITH CTE
AS
(
SELECT T.ID,T.PID,Cast(ID as nvarchar(4000)) AS PATH
FROM T20200228 t
WHERE T.ID = 1
UNION ALL
SELECT C.ID,C.PID,CTE.PATH+'->'+Cast(C.ID as nvarchar(4000)) PATH
FROM T20200228 C
INNER JOIN CTE ON C.PID=CTE.ID
)
SELECT * FROM CTE
-- Mysql 8.0
WITH RECURSIVE CTE (ID, PID, PATH) AS
(
SELECT ID, PID, CAST(ID as CHAR(4000)) AS PATH
FROM T20200228
WHERE ID = 1
UNION ALL
SELECT C.ID, C.PID, CONCAT(CTE.PATH, '->', CAST(C.ID as CHAR(4000)))
FROM T20200228 C
INNER JOIN CTE ON C.PID = CTE.ID
)
SELECT * FROM CTE;
答案解析
这是递归的经典用法,通过ID与父ID的关联,并且自己与自己关联来得到循环后的结果,属于固定语法。
1、 通过ID=1来生成根节点,这是递归查询的起始节点
2、 在查询语句中调用中CTE,而查询语句就是CTE的组成部分,即 “自己调用自己”,这就是递归的原理。