基于两个属性// postgres的分组更新查询

时间:2012-02-29 06:55:14

标签: sql postgresql

如何根据两个属性按组派生的计数更新表?

例如: 他们的表有一个列a,b,c

我需要根据具有共同(a,b)

的计数来更新c

1 个答案:

答案 0 :(得分:1)

PostgreSQL中的UPDATE有FROM extension你可以使用:

update  YourTable as yt1
set     c = case when aggr.cnt > 5 then 'Q' else 'Z' end
from    (
        select  a
        ,       b
        ,       count(*) as cnt
        from    YourTable
        group by
                a
        ,       b
        ) as aggr
where   aggr.a = yt1.a
        and aggr.b = yt1.b