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 Code
SELECT 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() 函数能够使查询更加高效。