首页 > 解决方案 > MySQL:如何对每组中的数据进行排序?

问题描述

我有一张这样的桌子:

| Key | Value | Message |
|-----|-------|---------|
| a   | 1     | xx      |
| a   | 2     | yy      |
| b   | 5     | mm      |
| b   | 4     | nn      |

我想按Key对数据进行分组,得到每组的最小值,以及相关的Message。预计结果为:

| Key | Value | Message |
|-----|-------|---------|
| a   | 1     | xx      |
| b   | 4     | nn      |

我正在使用 MySQL 5.7。有可能这样做吗?

标签: mysqlsqlgreatest-n-per-group

解决方案


你可以试试下面 -

select * from tablename a
where value = (select min(value) from tablename b where a.key=b.key)

推荐阅读