leetcode-SQL 620. 有趣的电影(难度:简单)--奇数偶数的区别

某城市开了一家新的电影院,吸引了很多人过来看电影。该电影院特别注意用户体验,专门有个 LED显示板做电影推荐,上面公布着影评和相关电影描述。

作为该电影院的信息部主管,您需要编写一个 SQL查询,找出所有影片描述为非 boring (不无聊) 的并且 id 为奇数 的影片,结果请按等级 rating 排列。

 

例如,下表 cinema:

+---------+-----------+--------------+-----------+
|   id    | movie     |  description |  rating   |
+---------+-----------+--------------+-----------+
|   1     | War       |   great 3D   |   8.9     |
|   2     | Science   |   fiction    |   8.5     |
|   3     | irish     |   boring     |   6.2     |
|   4     | Ice song  |   Fantacy    |   8.6     |
|   5     | House card|   Interesting|   9.1     |
+---------+-----------+--------------+-----------+
对于上面的例子,则正确的输出是为:

+---------+-----------+--------------+-----------+
|   id    | movie     |  description |  rating   |
+---------+-----------+--------------+-----------+
|   5     | House card|   Interesting|   9.1     |
|   1     | War       |   great 3D   |   8.9     |
+---------+-----------+--------------+-----------+

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/not-boring-movies
 

方法一:
select id, movie, description, rating
from cinema
where round(id/2) > (id/2)
and description <> "boring"
order by rating desc;

方法二:
select id, movie, description, rating
from cinema
where mod(id,2) = 1
and description != "boring"
order by rating desc;

方法三:
select id, movie, description, rating
from cinema
where id%2 = 1
and description != "boring"
order by rating desc;

SQL中“<>” 和 “!=” 都表示“不等于”,但推荐用<>,因为ANSI标准中是用<>

使用"%"取余符号和mod()结果一样,不过mod()效率更高。

mod函数百是一个求余函数,其格式为: mod(nExp1,nExp2),即是两个数值表达式作除法运算(nExp1/nExp2)后的余数。

示例:

MOD(3, 2) 等于 1

MOD(-3, 2) 等于1

MOD(3, -2) 等于-1

MOD(-3, -2) 等于-1

MOD(-3, 0) 等于-3

MOD(3, 0) 等于3

MOD(2, 0) 等于2

MOD(4, 3) 等于1

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值