LeetCode刷题日记(三)

昨天说完自己脱发,今天就发现原来是因为洗发水的原因!霸王危!不仅不防脱,掉发还增多!是别的洗发香波不够香嘛!!(想念我留在学校的hair recipe 是真的很香

收到了京东明天的HR面!!许愿~信女愿在顺利拿到offer之后重新做人开始认真减肥!每天争取多刷几题!

197.上升的温度
595.大的国家

197.上升的温度
涉及到对日期的对比~
所以计算时间的函数,此处用到的是
datediff(日期1,日期2):
得到的结果若为正值。表示日期1比日期2大的天数
另外还有timestampdiff(时间类型,时间1,时间2)此处时间类型可通过day\hour\second等进行参数设置,正负含义与datadiff相反

SELECT W1.Id 
FROM Weather AS W1 INNER JOIN Weather AS W2
ON datediff(W1.RecordDate,W2.RecordDate) = 1
AND W1.Temperature > W2.Temperature;

595.大的国家
哈哈哈看评论说这道题让自己知道了原来不是一无所知!不过还是有学到新的知识!
先是自己的做法

SELECT name, population, area
FROM World
WHERE area > 3000000 OR population > 25000000

但只击败了30%多的用户噻!不满足的我去扒拉评论了!就有了新的发现“考虑到or可能会导致索引失效。代替方案为union关键字,union all不会自动去重”(补充查询:
UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。

1、对重复结果的处理:UNION在进行表链接后会筛选掉重复的记录,Union All不会去除重复记录。

2、对排序的处理:Union将会按照字段的顺序进行排序;UNION ALL只是简单的将两个结果合并后就返回。

从效率上说,UNION ALL 要比UNION快很多,所以,如果可以确认合并的两个结果集中不包含重复数据且不需要排序时的话,那么就使用UNION ALL。

select name,population,area 
from World where population>25000000 union
select name,population,area 
from World where area>3000000

提高了一点点~~!!

596.超过5名学生的课
看完题目就想起了昨天学到的GROUP BY和HAVING

SELECT class
FROM courses
GROUP BY class
HAVING COUNT(DISTINCT student) >= 5;

第一遍忘记写DISTINCT进行去重啦~结果不能通过!所以一定记得在重复出现影响结果时,进行去重!

哇哇哇要去睡了~明天早点醒来准备面试!今天是吃了纯奶酪吃了宵夜幸福的一天!明天满满能量啦!必胜!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值