我需要在表格中填充group-id
item-id
和auto-id
的组合。表格如下;
----------------------------------------
Item_id | Auto_id | Group_id
----------------------------------------
1 | 1 | 1
1 | 2 | 1
2 | 3 | 3
2 | 4 | 3
3 | 5 | 5
3 | 6 | 5
3 | 7 | 5
4 | 8 | 8
4 | 9 | 8
5 | 10 | 10
6 | 11 | 11
这两个列已经填充Item_id
和Auto_id
,我们需要填充group_id
。对于每个重复的item_id
,group_id
至少为auto_id
,该关系就像是一样。
我希望我说清楚。如果可能请帮助。
谢谢, Ashish
答案 0 :(得分:3)
您可以使用子分组,其中包含group by,您可以在其中计算每个item_id的最小auto_id。然后,您可以将此子查询与原始表连接:
SELECT t1.Item_id, t1.Auto_id, t2.Group_id
FROM
yourtable t1 INNER JOIN (
SELECT Item_Id, MIN(Auto_id) Group_id
FROM yourtable
GROUP BY Item_Id) t2
ON t1.Item_Id=t2.ItemId
请参阅小提琴here。
如果您需要更新现有列,可以使用此UPDATE查询:
UPDATE
yourtable t1 INNER JOIN (
SELECT Item_Id, MIN(Auto_id) Group_id
FROM yourtable
GROUP BY Item_id) t2
ON t1.Item_Id=t2.Item_Id
SET
t1.Group_id=t2.Group_id
小提琴是here。