Vanyouxi - mysql基础
type: channel
link: https://vanyouxi.cn/index.php/category/mysql/
description: Mysql 增删改查时遇到的一些问题与解决办法
items: Mysql 查询时使用 GROUP BY xx ORDER BY xx 时 ORDER BY 不生效时的问题

Mysql 查询时使用 GROUP BY xx ORDER BY xx 时 ORDER BY 不生效时的问题
type: item
date: 2022-07-19T16:11:53+08:00
description: 在写Sql语句查询时，有时同时用到分组 GROUP BY 和排序 ORDER BY， 如SELECT id,card_no,add_datetime FROM table WHERE 1 GROUP BY card_no ORDER BY add_datetime DESC 查询结果只是返回分组后的第一条数据，而不是分组后组内时间最新的第一条数据我的解决办法是使用 子查询+DISTINCT 查询，如下：SELECT * FROM (SELECT DISTINCT id,card_no,add_datetime FROM table WHERE 1 ORDER BY add_datetime DESC) tmp GROUP BY card_no 具体原理未知，但是能查出所期望的结果