SQL 620.有趣的电影教程

2019-05-07 19:55:22

题目:

某城市开了一家新的电影院,吸引了很多人过来看电影。该电影院特别注意用户体验,专门有个 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 |
±--------±----------±-------------±----------+

-- ----------------------------
-- Table structure for `cinema`
-- ----------------------------
DROP TABLE IF EXISTS `cinema`;
CREATE TABLE `cinema` (
  `id`int(11) NOT NULL,
  `movie`varchar(255) DEFAULT NULL,
 `description` varchar(255) DEFAULT NULL,
 `rating` float(2,1) DEFAULT NULL,
  PRIMARYKEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- ----------------------------
-- Records of cinema
-- ----------------------------
INSERT INTO `cinema` VALUES ('1', 'War', 'great3D', '8.9');
INSERT INTO `cinema` VALUES ('2', 'Science','fiction', '8.5');
INSERT INTO `cinema` VALUES ('3', 'irish','boring', '6.2');
INSERT INTO `cinema` VALUES ('4', 'Ice song','Fantacy', '8.6');
INSERT INTO `cinema` VALUES ('5', 'House card','Interesting', '9.1');

答案:

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

知识点1;sql 不等于

<> ,!= ,^=

知识点2;sql 偶数或者是奇数

mod(r.id,2) = 0
mod(r.id,2) = 1

当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »