订阅更新

有趣的电影:奇数编号且描述不是 boring

SQL 实战 123 题 · 第 44 题 简单 约 2 分钟读完

LeetCode 620 · 取模、多条件过滤、排序

本文目录
  1. 面试怎么回答
  2. 题意
  3. 表结构
  4. 思路
  5. 参考解法
  6. 易错点

面试怎么回答

WHERE id % 2 = 1 AND description != 'boring',ORDER BY rating DESC。这题简单,可以顺带提一下:如果描述可能为空,不等于判断会把空值过滤掉,要按业务决定是否保留。

先把这段讲顺;面试官追问时,再展开下面的原理和细节。

详细讲解

题意

影片表有编号、片名、描述和评分。找出编号为奇数、描述不是 boring 的影片,按评分从高到低排列。

表结构

  • cinema:id(主键)、movie、description、rating

思路

奇数用 id % 2 = 1(或 MOD(id, 2) = 1),描述用 != 排除 boring,最后按 rating 降序。

参考解法

select  id,movie,description,rating 
from cinema
where id%2=1 and description !='boring'
order by rating desc,id,movie,description

易错点

  • description 可能为 NULL 时,!= 'boring' 会把它过滤掉;要保留的话加 OR description IS NULL。
刷题进度保存在当前浏览器