SQL LAST() 学习笔记
什么是 SQL LAST() 函数?
在 SQL 中,LAST() 函数用于返回指定列的最后一个记录或组。从 MySQL 8.0.2 版本开始,LAST() 函数可用于所有聚合函数,并且在某些情况下与 GROUP BY 子句配合使用,可以使查询更加高效。
使用 SQL LAST() 函数示例
考虑以下示例,其中我们有一张名为 "orders" 的表格:
order_id | customer_id | order_total | order_date |
---|---|---|---|
1 | 101 | 150 | 2023-05-01 |
2 | 102 | 200 | 2023-05-02 |
3 | 103 | 75 | 2023-05-03 |
4 | 104 | 125 | 2023-05-04 |
5 | 105 | 50 | 2023-05-05 |
6 | 106 | 300 | 2023-05-06 |
现在,我们想要获取每个客户的最后一个订单的信息。我们可以使用以下 SQL 语句:
Copy CodeSELECT
customer_id,
MAX(order_id) AS last_order_id,
MAX(order_total) AS last_order_total,
MAX(order_date) AS last_order_date
FROM
orders
GROUP BY
customer_id;
执行上述 SQL 查询之后,我们会看到以下结果:
customer_id | last_order_id | last_order_total | last_order_date |
---|---|---|---|
101 | 1 | 150 | 2023-05-01 |
102 | 2 | 200 | 2023-05-02 |
103 | 3 | 75 | 2023-05-03 |
104 | 4 | 125 | 2023-05-04 |
105 | 5 | 50 | 2023-05-05 |
106 | 6 | 300 | 2023-05-06 |
如上所示,我们使用 LAST() 函数获取了每个客户的最后一个订单信息。
总结
LAST() 函数是 SQL 中一个非常有用的聚合函数,它可以帮助我们轻松地获取指定列的最后一个记录或组。当与 GROUP BY 子句配合使用时,LAST() 函数能够使查询更加高效。