您正在寻找一个分组依据:
select *
from table
group by field1
有时可以用一个独特的on语句来编写:
select distinct on field1 *
from table
但是,在大多数平台上,以上两种方法都不起作用,因为未指定其他列上的行为。(如果您正在使用MysqL,第一个可以在MysqL中使用。)
在某些平台(例如Postgresql,Oracle,T-sql)上,可以直接使用窗口函数来完成此操作:
select *
from (
select *,
row_number() over (partition by field1 order by field2) as row_number
from table
) as rows
where row_number = 1