SQL所定の集計値を満足する上位N個のレコードを取得します

1つの 宣言 @ivtの テーブル(数量INT、コードNVARCHAR10 ))
 2  インサート  @ivt (数量、コード)
 3  選択 7' ' 組合4 セレクト3' B ' 組合5 セレクト4' C ' 6 選択* から@ivtの順序によってコード 
 7 8 DECLARE @tb テーブル 
   
   
       
   (IdがINT、数量INT、コードNVARCHAR10 ))
 9  インサート  @tb (ID、数量、コード)
 10  セレクト 11' ' 組合11 セレクト22' B ' 組合12 セレクト33' C ' 組合13が選択42' ' 組合 
   
   
   
14  セレクト 51' B '  ユニオン
15  を選択し 63' ' 組合16 セレクト71' C ' 組合17 セレクト83' ' 組合18 セレクト92' C ' 組合19 セレクト104' 
   
   
   
  '  
20  セレクト *  から @tb  順序 によってID
 21  
22  セレクト a.Id、a.Qty、a.Code から @tb 参加 @tb B  b.id <= a.Id  a.Code = b.Code
 23は、 参加 @ivt C  c.Code = a.Code
 24   によってa.Id、a.Code、a.Qty、c.Qty
 25  を有する (b.qty)を<= c.Qty

 

https://dba.stackexchange.com/questions/74846/sql-select-top-x-rows-having-sum-limit

DECLARE @Limit FLOAT
SELECT @Limit = 30

SELECT
    o1.Id
    , o1.Cost
    , o1.Category
FROM
    MyOrders o1
    -- Join all orders with same category and inferior ID
    INNER JOIN MyOrders o2 ON o2.ID <= o1.ID AND o1.Category = o2.Category
GROUP BY
    o1.Id
    , o1.Cost
    , o1.Category
HAVING
    SUM(o2.Cost) < @Limit
ORDER BY
    ID

おすすめ

転載: www.cnblogs.com/wkk2020/p/12563642.html