-- 示例表结构:假设有一个名为 `orders` 的表,包含以下字段:
-- id: 订单ID
-- customer_id: 客户ID
-- order_date: 订单日期
-- 目标:对于每个客户,获取其最新的订单记录(即订单日期最大的一条记录)
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. 外部查询通过 `JOIN` 将原始表 `orders` 和子查询结果 `o2` 连接起来,确保只选择每个客户的最新订单记录。
-- 3. 最终结果返回每个客户的最新订单的所有字段。
上一篇:mysql登录命令行
下一篇:mysql数据库重命名
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站