SQL根据特定条件为条目设置数字列

时间:2014-09-16 14:22:39

标签: sql sql-server

    AcountID        Name              Percent
    10010377        M. D. NIGH         60.00
    10010377        D. L. NIGH         40.00
    10010378        W. M. EDWARDS      33.30
    10010378        J. LANE            33.30
    10010378        D. MCCANN          33.30
    10010322        K. LANT            80.00
    10010322        P. MCAN            20.00

我有一张表格,其中包含某些公司的所有者及其百分比。 有没有办法使用sql根据百分比返回每个条目的数量。

我想要的是有类似于以下输出的内容。

Number          AcountID        Name              Percent
10010377-1      10010377        M. D. NIGH         60.00
10010377-2      10010377        D. L. NIGH         40.00
10010378-1      10010378        W. M. EDWARDS      33.30
10010378-2      10010378        J. LANE            33.30
10010378-3      10010378        D. MCCANN          33.30
10010322-1      10010322        K. LANT            80.00
10010322-2      10010322        P. MCAN            20.00

感谢。

1 个答案:

答案 0 :(得分:2)

以下是使用ROW_NUMBER获取值的方法。

select AccountID
    , ROW_NUMBER() over (partition by AccountID order by Percent desc) as RowNum
    , Name
    , Percent
from SomeTable

我会让你将varchar强制转换添加到AccountID和ROW_NUMBER以获得你想要的确切输出。