Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

mysql 分组取时间最大的一条

作者:寒江映月   发布日期:2026-06-06   浏览:15

-- 示例表结构:假设有一个名为 `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数据库重命名

大家都在看

mysql二级索引

mysqlavg函数保留小数

mysql显示表内容

mysql经纬度距离计算

mysql 加密

存储过程mysql

mysql 1265

mysql with语句

mysql时间加减

mysql查询表名,模糊匹配

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站