我有一个看起来像这样的表:
身份证日期类别
x 1995 A
x 1996 B
z 1995 B
z 1996 A
y 1995 B
y 1996 B
我要做的是将“类别”设置为每个ID的最短日期的值。这样最终结果将如下所示:
身份证日期类别
x 1995 A
x 1996 A
z 1995 B
z 1996 B
y 1995 B
y 1996 B
有人知道如何在SQL中执行此操作吗?谢谢!
最佳答案
您可以使用子查询:
select
id,
date,
(
select category
from mytable x
where x.id = m.id
and not exists
(
select *
from mytable older
where older.id = x.id
and older.date < x.date
)
) as oldest_category
from mytable m;
关于mysql - SQL:为每个唯一组选择一个最小值并更改值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31026281/