以下笔记由力扣刷题得来或者使用时忘记了用法

MySQL 不是从上到下执行的,固定顺序是:

  1. FROM 找到表

  2. WHERE 过滤数据

  3. GROUP BY 分组

  4. HAVING 过滤分组

  5. SELECT 查字段、起别名

  6. ORDER BY 排序

  7. 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