Sql server SQL SERVER查询以从所有帐户类型中提取帐户号的最大值(余额)及其ShareAccountHolderCount

Sql server SQL SERVER查询以从所有帐户类型中提取帐户号的最大值(余额)及其ShareAccountHolderCount,sql-server,Sql Server,我正在尝试解决以下查询。请你帮忙好吗 银行表BT AccountNumber AccountTypeCode Balance ShareAccountHolderCount 10800 2146 160 5 10800 2148 126 3 10800 2149

我正在尝试解决以下查询。请你帮忙好吗

银行表BT

AccountNumber   AccountTypeCode     Balance         ShareAccountHolderCount
10800           2146                    160                 5
10800           2148                    126                 3
10800           2149                    84                  6
10800           2147                    66                  7
11039           2581                    42                  1
11039           2582                    32                  21
11039           2579                    10                  91
11039           2578                    7                   10  
要求: 1.一个帐号(BT.AccountNumber)可能有多个帐户类型(BT.AccountTypeCode)和
对于每种账户类型,他可能有不同的余额(BT.Balance)。
2.在多账户类型的账户下,他可能有多个共享账户持有人(BT.ShareAccountHolderCount)
3.我没有其他的表可以加入银行表

问题:现在我必须从所有账户类型中提取账户号码的最大(余额)及其股东账户

结果应如下所示

AccountNumber   AccountTypeCode     Balance         ShareAccountHolderCount
10800           2146                    160                 5
11039           2581                    42                  1  
根据我的研究
答案1:TOP 1和Order by Balance DESC不适用于此要求。
答案2:我试图通过在下面写下查询来做点什么,但无法得到答案

SELECT AccountNumber,AccountTypeCode,Balance,ShareAccountHolderCount
        ,RowNumber = ROW_NUMBER() OVER (PARTITION BY AccountNumber ORDER BY  LongestStressdays DESC)
        ,RowNumber2 = ROW_NUMBER() OVER (PARTITION BY AccountNumber ORDER BY  CountOfTestTypeIdsperSequence DESC)
        FROM BANKTABLE BT

你已经接近解决方案了。第二部分包括筛选行,以便按分区仅获取第一行:

with cte as (
   SELECT 
       AccountNumber,
       AccountTypeCode,
       Balance,
       ShareAccountHolderCount,
       RowNumber = ROW_NUMBER() OVER (
               PARTITION BY AccountNumber 
               ORDER BY  Balance DESC)
   FROM BANKTABLEL BT
)
   select
     AccountNumber,
     AccountTypeCode,
     Balance,
     ShareAccountHolderCount
   from
     cte
   where RowNumber = 1

,这样我就可以和StackOverflow联系了,是的,你说得对。我知道结果了,非常感谢