美团数据开发面试题sql
这道题究竟怎么做啊😭
全部评论
1,a表先内连接筛选出同id下最新的数据
2,new_a表全连接b表,如果是MySQL,你需要a左连b union b左连a
3,查id,name,code
4,order by id;
这很简单吧 把文件a和文件b进行一个全连接,按id分组取最新时间的数据最后再展示出id,name,code不就可以了么
SELECT COALESCE(New_a.id,New_b.id) id ,New_a.name,New_b.code
FROM (SELECT id,name
FROM a a_1
WHERE NOT EXISTS(SELECT *
FROM a a_2
WHERE a_1.id=a_2.id AND a_1.dt<a_2.dt)) New_a
FULL JOIN
(SELECT id,code
FROM b b_1
WHERE NOT EXISTS(SELECT *
FROM b b_2
WHERE b_1.id=b_2.id AND b_1.dt<b_2.dt)) New_b
ON New_a.id=New_b.id
ORDER BY id
select * FROM(SELECT a.id,a.name,t2.code from (SELECT id,max(name) as name,MAX(dt) as dt from t1 GROUP BY id) a left join t2 on a.id=t2.id ) x UNION SELECT * FROM (SELECT t2.id,a.name,t2.code
from t2 left join (SELECT id,max(name) as name,MAX(dt) as dt from t1 GROUP BY id) a on t2.id=a.id) y;
with new_a as (
select *
from a
where (id,dt) in ( select id ,max(dt)
from a
group by id)
)
select new_a.id, new_a.name, code
from new_a full join b
on new_a.id = b.id
order by new_a.id
这样可以吗?
select *,row_number() over(partition by id order by dt ) as r from file_a;
select * from () as a where r =1 ;
select coalesce(a.id,b.id) as id ,a.name,b.code from table1 as a full join table2 as b on a.id = b.id order by id ;
python 我会 pandas 用 merge ,sql 怎么做我还真不会
请问这个平台上可以测试代码吗
t2表应该用窗口函数取吧
我靠今天面试碰到了😂估计面的一个人
with
T1 AS (select id,max(dt) as newdt from a group by id),
T2 AS (select id,name from a where dt in (select newdt from T1)),
T3 AS (select id,null code,name from T2),
T4 AS (select id,code,null name from b),
T5 AS (select * from T3 union all select * from T4)
select id,max(name) name,max(code) code from T5 group by id order by id
这是一面吗
相关推荐
查看23道真题和解析 点赞 评论 收藏
分享
03-19 17:53
武汉大学 算法工程师
暴杀流调参工作者:春招又试了一些岗位,现在投递很有意思,不仅要精心准备简历,投递官网还得把自己写的东西一条一条复制上去,阿里更是各个bu都有自己的官网,重复操作无数次,投完简历卡完学历了,又该写性格测评、能力测评,写完了又要写专业笔试,最近还有些公司搞了AI辅助编程笔试,有些还有AI面试,对着机器人话也听不明白录屏硬说,终于到了人工面试又要一二三四面,小组成员面主管面部门主管面hr面,次次都没出错机会,稍有不慎就是挂。
卡学历卡项目卡论文卡实习什么都卡,没有不卡的😂 点赞 评论 收藏
分享
