我有一张类似于下面的表格:
C1 C2 C3
A 5 0
A 15 0
A 2 0
B 5 0
B 8 0
结果表通过C1
更新C3为C2组的mac值为1C1 C2 C3
A 5 0
A 15 1
A 2 0
B 5 0
B 8 1
答案 0 :(得分:0)
对于SQL Server 2005 +:
;WITH CTE AS
(
SELECT *,
MAX(C2) OVER(PARTITION BY C1) MaxC2
FROM YourTable
)
UPDATE CTE
SET C3 = CASE WHEN MaxC2 = C2 THEN 1 ELSE 0 END
答案 1 :(得分:0)
Supossing表名为table_name
UPDATE t1 SET t1.C3 = 1
FROM table_name as t1 INNER JOIN (
SELECT C1, MAX(C2) AS C2 FROM table_name GROUP BY C1
) AS t2 ON t1.C1 = t2.C1 AND t1.C2 = t2.C2