-- 示例代码:MySQL 分组排序取最新一条记录
-- 假设有一个名为 `orders` 的表,包含以下字段:
-- id: 订单ID
-- customer_id: 客户ID
-- order_date: 订单日期
-- amount: 订单金额
-- 目标:按客户分组,并获取每个客户最新的订单记录
SELECT o1.*
FROM orders o1
JOIN (
-- 子查询:获取每个客户的最新订单日期
SELECT customer_id, MAX(order_date) AS max_order_date
FROM orders
GROUP BY customer_id
) o2 ON o1.customer_id = o2.customer_id AND o1.order_date = o2.max_order_date;
-- 解释:
-- 1. 内部子查询 (o2) 获取每个客户的最大订单日期。
-- 2. 外部查询 (o1) 使用 JOIN 将原始表与子查询结果连接起来,
-- 确保只返回每个客户最新的订单记录。
上一篇:mysql limit 0,10
下一篇:docker启动mysql
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站