LeetCode_database刷题记录(620. 有趣的电影)

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

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

例如,下表 cinema:

idmoviedescriptionrating
1Wargreat 3D8.9
2Sciencefiction8.5
3irishboring6.2
4Ice songFantacy8.6
5House cardInteresting9.1

对于上面的例子,则正确的输出是为:

idmoviedescriptionrating
5House cardInteresting9.1
1Wargreat 3D8.9

建表sql语句:

Create table If Not Exists cinema (id int, movie varchar(255), description varchar(255), rating float(2, 1))
Truncate table cinema
insert into cinema (id, movie, description, rating) values ('1', 'War', 'great 3D', '8.9')
insert into cinema (id, movie, description, rating) values ('2', 'Science', 'fiction', '8.5')
insert into cinema (id, movie, description, rating) values ('3', 'irish', 'boring', '6.2')
insert into cinema (id, movie, description, rating) values ('4', 'Ice song', 'Fantacy', '8.6')
insert into cinema (id, movie, description, rating) values ('5', 'House card', 'Interesting', '9.1')

解题sql:

select * from cinema where description <>'boring' and mod(id,2)=1 order by rating desc

思路解析

首先根据题目分析我们要做三件事,1找出不等于boring的电影,2电影的序号id为奇数,3按照rating排序.1,3很简单 <>boring 排除了无聊的电影,order by rating 对评分等级进行降序,分数高的排在上面解决,然后是2,可能很多小伙伴有思路但不知道具体怎么搞,或者不知道mod()函数,mod()函数其实就是一个取余函数
eg:mod(num1,num2)=0 num1 代表除数,num2代表被除数 0代表结果的余数,如果num1 除以num2 取的余数等于0 说明正好除尽,没有余数,如果等于1则说明有余数,这个题目我们判断奇偶其实就是判断序号除以2是否能除尽,所以用mod(id,2)=1来筛选为奇数的序号,结束.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值