SQL 服务器 - 如果值存在,则更改列值



我有以下问题。想象一下,我从一个选择语句中得到以下返回表

Column A   Column B
100        aaa
100        bbb
100        ccc
200        ddd
300        eee

所以问题是,我如何更改我的 SQL Select 语句以添加一个新列,该列显示列 A 具有重复值的次数。问题是我需要通过订单获得一些子集。

例如,它应该返回如下内容:

  Column A   Column B  Column C
    100        aaa     1
    100        bbb     2
    100        ccc     3
    200        ddd     1
    300        eee     1

非常感谢您的支持!

这是分析RANK()函数的经典用例:

SELECT a, b, RANK() OVER (PARTITION BY a ORDER BY b) AS c
FROM   my_table

添加ROW_NUMBER() OVER (PARTITION BY ColA ORDER BY SomethingElse) as ColC 。这为您提供了 ColA 中每个"组"的连续行号。

相关内容

最新更新