
leetcode-sql
lois_DaLuo
这个作者很懒,什么都没留下…
展开
-
LeetCode-SQL篇 197-关于时间差
简单分析 本题核心:筛选出当日比昨日温度高的日期,可以推广为解决昨日同比增长***之类的问题; 使用函数:datediff、timestampdiff、date_add之类函数,可能还有其他方式可以解决,欢迎补充 表联结:使用join和left join并无差别,可选用join 解决方案 方案一:使用date_add函数,本方法主要用加减思维建立连接,主要注意函数参数用法; SELECT a.id from weather a JOIN weather b on DATE_ADD(原创 2021-09-18 11:26:06 · 235 阅读 · 0 评论 -
LeetCode-SQL篇 196-delete select使用
简单分析 一说起删除重复记录,可以想到用delete + select + groupby组合 保留唯一重复记录,需要结合实际场景保留符合要求的数据 注意点:delete 不能直接delete from table where id in(select * from tab1),不能直接把select得到的结果作为delete的条件,所以需要建立临时表来操作; 解决方案 方案一: 用select筛选出需要删除的ids、或筛选出不需要删除的ids,两种都可,只不过一种是选中,一...原创 2021-09-18 10:20:19 · 2300 阅读 · 0 评论 -
LeetCode-SQL篇 183题-left join使用
简单分析 实质上是Customers表有这条数据,而Orders表没有这条数据的问题; 或者转变为另一个思路,就是转换为字段有无的思路,CustomerId在Customers表有,在Orders表无; 解决方案 第一种,表之间数据有无的问题,尤其是像上面这种状况,完全可以用left join + is null来解决;大的数据集作为主表,小的数据集为辅表,挑选出在辅表里面没有的数据就好; select a.Name as Customers from Customers a left jo原创 2021-09-17 09:46:46 · 479 阅读 · 0 评论 -
LeetCode-SQL篇 181题-解决层级数据查询问题
简单分析: 1.关于两两比较或者一些操作,首先想到用join操作 2.join里面分inner join、left join、right join三种(mysql),区分三种join方式的区别,在优化sql方面也会有提升; 解决方案: 方案一:用(inner)join或“,” SELECT a.id, a.NAME, a.salary, a.manager_id, b.id, b.NAME, b.salary, b.manager_id ...原创 2021-09-16 09:54:37 · 281 阅读 · 0 评论