本文介绍了写一个更新查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
大家好,
我的选择查询返回以下数据集
Hi everyone,
My select query returns following dataset
ID Col2 selected
------------------------
13 449 0
13 3804 0
13 3805 0
13 3806 0
230 274 0
230 1589 0
650 2375 0
911 1147 0
963 1157 0
1010 1196 0
1010 2000 0
1130 1410 0
1130 1456 0
1130 1910 0
现在,我想编写一个更新查询,以更新每个ID的第一行.所以欲望的结果是这样的.
Now I want to write an update query which updates first row of each ID. So the desire result is like this.
ID Col2 selected
------------------------
13 449 1
13 3804 0
13 3805 0
13 3806 0
230 274 1
230 1589 0
650 2375 1
911 1147 1
963 1157 1
1010 1196 1
1010 2000 0
1130 1410 1
1130 1456 0
1130 1910 0
在此先感谢...:-)
Thanks in Advance..... :-)
推荐答案
UPDATE MyTable
SET Selected = 1
WHERE (id, Col2) IN (SELECT mt2.Id, MIN(mt2.Col2)
FROM MyTable mt2
GROUP BY mt2.Id)
或
or
UPDATE MyTable
SET Selected = 1
WHERE NOT EXISTS (SELECT 1
FROM MyTable mt2
WHERE mt2.Id = MyTable.Id
AND mt2.Col2 < MyTable.Col2)
这篇关于写一个更新查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!