GROUP BY(分组)
ORDER BY(排序)
回答: 每个派生表都需要有自己的别名
============
union all 联合多表
group by 按照id分组
having 条件筛选
order by 升序排序
===
第二高薪水
https://leetcode.cn/problems/second-highest-salary/solution/di-er-gao-de-xin-shui-by-leetcode/
方法一:使用子查询和 LIMIT 子句
将不同的薪资按降序排序,然后使用 LIMIT 子句获得第二高的薪资。然而,如果没有这样的第二最高工资,这个解决方案将被判断为 “错误答案”,因为本表可能只有一项记录。为了克服这个问题,我们可以将其作为临时表。
方法二:使用 IFNULL 和 LIMIT 子句
解决 “NULL” 问题的另一种方法是使用 “IFNULL” 函数,如下所示。
方法三: Max函数
=======================
mysql中isnull, ifnull, nulli f的用法如下:
isnull(expr) 的用法: 如expr 为null,那么isnull() 的返回值为 1,否则返回值为 0。
mysql> select isnull(1+1); -> 0
mysql> select isnull(1/0); -> 1
使用= 的null 值对比通常是错误的。
IFNULL(expr1,expr2)的用法:
假如expr1 不为 NULL,则 IFNULL() 的返回值为 expr1; 否则其返回值为 expr2。IFNULL()的返回值是数字或是字符串,具体情况取决于其所使用的语境。
mysql> SELECT IFNULL(1,0);
-> 1
mysql> SELECT IFNULL(NULL,10);
-> 10
mysql> SELECT IFNULL(1/0,10);
-> 10
mysql> SELECT IFNULL(1/0,'yes');
-> 10
==========================
Limit offset
limit X,Y ,跳过前X条数据,读取Y条数据
- X表示第一个返回记录行的偏移量,Y表示返回记录行的最大数目
- 如果X为0的话,即 limit 0, Y,相当于limit Y
https://zhuanlan.zhihu.com/p/402520598
在日期之间
max(sale_date) <= '2019-03-31'
0 Comments