按一列中的值分组

时间:2015-06-02 05:15:50

标签: mysql

我有一张包含这些数据的表格:

ID     Name     Color
1      Kyle     Blue
1      Susan    Orange
1      Steven   Orange
2      Susan    Blue

我想使用这样的查询:

Select * from table group by ID, Top1(Name), Top1(Color)

所以我得到了这些结果:

ID     Name     Color
1      Kyle     Blue
2      Susan    Blue

只要颜色与名字匹配,我不在乎它是Kyle Blue还是Steven Orange。

2 个答案:

答案 0 :(得分:1)

例如

SELECT x.*
  FROM my_table x
  JOIN (SELECT id, MIN(name) min_name FROM my_table GROUP BY id) y
    ON y.id = x.id
   AND y.min_name = x.name;

答案 1 :(得分:-1)

选择* 来自(    选择 *,           row_number()over(按名称顺序按名称排序)为row_number    从表    )作为行 其中row_number = 1