【LEETCODE】-【MYSQL】

176. 第二高的薪水

请添加图片描述
请添加图片描述
ifnull(a,b)函数解释:如果value1不是空,结果返回a;如果value1是空,结果返回b

select (select DISTINCT salary as SecondHighestSalary from employee order by salary desc limit 1,1) as SecondHighestSalary;

如果子查询啥也没查到,相当于select null as SecondHighestSalary;

177. 第N高的薪水

请添加图片描述
由于无法直接用limit N-1,所以需先在函数开头处理N为N=N-1。 注:这里不能直接用limit N-1是因为limit和offset字段后面只接受正整数(意味着0、负数、小数都不行)或者单一变量(意味着不能用表达式)

BEGIN
  SET N := N-1;
  RETURN (
      # Write your MySQL query statement below.
      select distinct salary from employee order by salary desc limit N,1
  );
END

182. 查找重复的电子邮箱

请添加图片描述
请添加图片描述
where中不能使用聚合函数,要想使用聚合函数,使用group by,在约束条件having中使用

select email from person group by email having count(email) >1;

584. 寻找用户推荐人

请添加图片描述
MySQL 使用三值逻辑 —— TRUE, FALSE 和 UNKNOWN。任何与 NULL 值进行的比较都会与第三种值 UNKNOWN 做比较。这个“任何值”包括 NULL 本身!这就是为什么 MySQL 提供 IS NULL 和 IS NOT NULL 两种操作来对 NULL 特殊判断。

select name from customer where referee_id is null or referee_id <> 2

620. 有趣的电影

请添加图片描述
MySQL 中判断奇数的 6 种方法:

  1. mod(x, 2) = 1 ,如果余数是 1 就是奇数。
  2. power(-1, x) = -1 , 如果结果是 -1 就是奇数
  3. x % 2 = 1 ,如果余数是 1 就是奇数。
  4. x & 1 = 1 ,如果是 1 就是奇数
  5. x regexp '[1, 3, 5, 7, 9]$' = 1 如果为 1 就是奇数
  6. x>>1<<1 != x 如果右移一位在左移一位不等于原值,就是奇数
select id,movie,description,rating from cinema where description != 'boring' and id % 2 != 0 order by rating desc
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值