力扣白嫖日记(sql)

前言

练习sql语句,所有题目来自于力扣(https://leetcode.cn/problemset/database/)的免费数据库练习题。

今日题目:

620.有趣的电影
表:cinema

列名 类型
id int
movie varchar
description varchar
rating float

id 是该表的主键(具有唯一值的列)。每行包含有关电影名称、类型和评级的信息。评级为 [0,10] 范围内的小数点后 2 位浮点数。
编写解决方案,找出所有影片描述为 非 boring (不无聊) 的并且 id 为奇数 的影片。返回结果按 rating 降序排列。


我那不值一提的想法:

我的思路:首先梳理表内容,题目给了一张cinema表,记录了电影id,名称,类型以及评级。其次分析需求,需要找到影片描述为非boring,也就是 description <> “boring”,并且id为奇数,也就是id % 2 <> 0,然后通过rating 降序排序。

select id,movie,description,rating
from cinema
where description <> "boring"
and id % 2 <> 0
order by rating desc

这里总结一下几种判断奇偶数的方法:
整除,也就是上面写的这一种,奇数是不能被2整除的:

id % 2 <> 0

位运算,因为在十进制中,奇数最后一位是1,偶数最后一位是0,所以判断位数最后一位是否为1:

id & 1 = 1

mod函数(用于计算两个数相除的余数):

mod(id,2) = 1

结果:

力扣白嫖日记(sql)_第1张图片

总结:

能运行就行。


你可能感兴趣的:(leetcode,sql,数据库)