内容简介:从上图可以看出来,整个题库分成三类,三种分类中,shell我不是很熟,算法的题太多,所以我先看了数据库的题。粗略地看了下,数据库的题还是相对简单的,可以跟着题目复习下SQL知识点,也可以跟着题友一起学习
LeetCode刷题之有趣的电影
从上图可以看出来,整个题库分成三类, 算法、数据库和shell ,它们题目比例为 1027/47/4 。
三种分类中,shell我不是很熟,算法的题太多,所以我先看了数据库的题。粗略地看了下,数据库的题还是相对简单的,可以跟着题目复习下 SQL 知识点,也可以跟着题友一起学习 新的方法 和 不一样的分析角度 。
来看题
难度:简单题目链接: https://leetcode-cn.com/problems/not-boring-movies
某城市开了一家新的电影院,吸引了很多人过来看电影。该电影院特别注意用户体验,专门有个 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 | +---------+-----------+--------------+-----------+
这题简单吧,就是一个基础的SQL语法题,来分析:
description列非 boring (不无聊) id为奇数
按道理来说,这种题对我来说就是纯粹的业务代码,可是你看我战绩
这都是不好好审题毛毛躁躁不检查就提交造成的,呜呜呜
大家看看我的答案
select * from cinema where description!='boring' and id%2 != 0 order by rating desc;
这道题最大的特点其实是在SQL中如何判断奇数,我这里用了最简单的判断方法,也是继承了我平时 java 编程的习惯。下面根据题友的评论和网上的资料整理几种在SQL中判断奇数的方法
- mod(id,2)=1,mod其实是个求余函数,和%的原理是一样的
- id%2=1 或者id%2!=0
- id&1=1,利用最后一位&1,偶数为0,奇数为1的原理
- id!=((id»1)«1),先左移一位将尾数位去掉,然后右移将尾数位补0,如果是偶数的话会和原来的id相等
- id regexp ‘[13579]$’,匹配类的如果只实现功能的话,正则肯定是没问题的
- POWER(-1, id) = -1,-1的奇数次方为-1,偶数次方为1
尽管是一道简单的SQL题,学到的东西还是挺多的,各位朋友,我们下期见~
欢迎来我的各个平台做客,我会尽可能地把自己知道的都分享给你们,有什么问题可以去各个平台留言,我会及时回复的,祝好!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Python爬取电影天堂
- Spark 机器学习之电影推荐系统
- Scrapy教程--豆瓣电影图片爬取
- 数据可视化豆瓣电影 TOP250
- 你有3部人工智能的电影未领取
- 使用typescript+vue 编写电影信息小项目!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。