以下笔记由力扣刷题得来或者使用时忘记了用法
MySQL 不是从上到下执行的,固定顺序是:
FROM 找到表
WHERE 过滤数据
GROUP BY 分组
HAVING 过滤分组
SELECT 查字段、起别名
ORDER BY 排序
LIMIT 限制条数
源自力扣:高频SQL50题基础版
聚合函数
T620 有趣的电影
表:cinema
+----------------+----------+
| Column Name | Type |
+----------------+----------+
| id | int |
| movie | varchar |
| description | varchar |
| rating | float |
+----------------+----------+
id 是该表的主键(具有唯一值的列)。
每行包含有关电影名称、类型和评级的信息。
评级为 [0,10] 范围内的小数点后 2 位浮点数。
编写解决方案,找出所有影片描述为 非 boring (不无聊) 的并且 id 为奇数 的影片。
返回结果按 rating 降序排列。
结果格式如下示例。
示例 1:
输入:
+---------+-----------+--------------+-----------+
| 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 |
+---------+-----------+--------------+-----------+
解释:
我们有三部电影,它们的 id 是奇数:1、3 和 5。id = 3 的电影是 boring 的,所以我们不把它包括在答案中。题解:
select *
from cinema
where id%2=1 and description != "boring"
order by rating desc
可以将id%2=1改为使用mod函数,mod(id,2)=1
排序放在最后面,倒序排序为desc,正序排序默认或者asc