我正在尝试组合下表中的不重复和最大assign_id或最后一个assign_id,但没有获得正确的值。
Table_task
ASSIGN_ID | DRV_ID | VEHICLE_ID
--------------------------------------
1 | EFFA | 1000
2 | SAM | 1001
3 | FIZA | 1004
4 | JIJO | 1000
5 | LISA | 1000
如何获得如下所示的价值显示?
ASSIGN_ID | DRV_ID | VEHICLE_ID
-----------------------------------------
2 | SAM | 1001
3 | FIZA | 1004
5 | LISA | 1000
答案 0 :(得分:1)
具有一个子查询,该查询返回每个vehicle_id的最大Assign_id。 JOIN
得到的结果:
select t1.*
from task t1
join (select vehicle_id, max(assign_id) assign_id
from task
group by vehicle_id) t2
on t1.vehicle_id= t2.vehicle_id
and t1.assign_id = t2.assign_id
答案 1 :(得分:0)
假设assign_id
没有联系,那么您可以使用子查询:
select t.*
from table t
where assign_id = (select max(t1.assign_id)
from table t1
where t1.vehicle_id = t.vehicle_id
);