首页 > 解决方案 > 使用 MySQL 一次返回列中的第一个唯一值

问题描述

我有下表命名的东西:

Serial  Color
1       Red 
2       Red
3       Green
4       Blue
5       Green
6       Green
7       Orange

我运行一个简单的选择查询:

SELECT * FROM stuff ORDER BY Serial

这只是返回按序列号排序的所有条目。但我真正需要的是查询只返回每种颜色的第一个唯一出现,同时保持相同的顺序。

我需要返回的结果集:

1       Red 
3       Green
4       Blue
7       Orange

标签: mysql

解决方案


按s分组,每组color取最低值。serial你也可以这样订购

select min(serial), color
from your_table
group by color
order by min(serial)

推荐阅读