我正在研究leetcode中的“ Not Boring Movies”问题。 问题描述如下 “ X城市开设了一家新电影院,很多人都想去这家电影院。电影院还会发布一张海报,标明电影的等级和描述。 请编写一个SQL查询以输出带有奇数编号ID和非“无聊”描述的电影。按评分顺序对结果进行排序。“
例如,台式电影院
+---------+-----------+--------------+-----------+
| 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 |
+---------+-----------+--------------+-----------+
我的解决方法是:
SELECT id, movie ,description, rating
FROM cinema
WHERE ID % 2 != 0 AND description NOT LIKE %boring%
ORDER BY rating DESC
此解决方案无法通过leetcode测试。
预期的解决方案是:
SELECT id, movie ,description, rating
FROM cinema
WHERE id % 2 != 0 AND description != 'boring'
ORDER BY rating DESC
基本上,两种解决方案都遵循相同的思想来解决问题,但是我无法理解它们之间的区别。谁能告诉我为什么我的解决方案无法通过测试?
答案 0 :(得分:1)
不接受答案,因为他们希望您过滤出描述完全“无聊”的行,而不要过滤出具有诸如“不无聊”或“只是有点无聊”之类的描述的行。您的查询将过滤掉所有三行。
答案 1 :(得分:0)
您应按喜欢使用('%boring%')
SELECT id, movie ,description, rating
FROM cinema
WHERE ID % 2 != 0 AND description NOT LIKE '%boring%'
ORDER BY rating DESC
答案 2 :(得分:0)
问题描述清楚地指出了 ...不是“无聊”的描述。它不是说“不包含”,而是说“不是”
contain
在sql中为LIKE
,而is
在sql中为=
答案 3 :(得分:0)
LIKE %boring%
将选择
_boring!
...boring...
等
但是描述值只是“无聊”