SQL查询选择每种类型之一

Bog*_*ets 21 sql

假设我有这张表:

id colorName
1 red
2 blue
3 red
4 blue

如何选择每种颜色的一个代表?
结果:
1红
2蓝

Ton*_*ews 44

不是随机代表,而是......

select color, min(id)
from   mytable
group by color;
Run Code Online (Sandbox Code Playgroud)


use*_*812 12

select distinct colorname from mytable
Run Code Online (Sandbox Code Playgroud)

  • 他也需要身份证. (3认同)

Qua*_*noi 11

MS SQL ServerOracle:

SELECT  id, colorName
FROM    (
        SELECT  id, colorName,
                ROW_NUMBER() OVER (PARTITION BY colorName ORDER BY id) AS rn
        FROM    colors
        ) q
WHERE   rn = 1
Run Code Online (Sandbox Code Playgroud)

  • 如果有第三个字段,MIN将无效:) (6认同)