sql >> データベース >  >> RDS >> Sqlserver

永久加重平均コストの計算 SQL Server 2008

    私の理解が正しければ、累積平均価格が必要です。

    このアプローチでは、サブクエリを使用して累積合計数量と累積支払額を計算します。比率は平均コストです:

    select t.*, cumepaid / cumeqty as avg_cost
    from (select t.*,
                 (select SUM(qty) from t t2 where t2.item_id = t.item_id and t2.purch_id <= t.purch_id
                 ) as cumeqty,
                 (select SUM(qty*unit_price) from t t2 where t2.item_id = t.item_id and t2.purch_id <= t.purch_id
                 ) as cumepaid
          from t
         ) t
      

    SQL Server 2012 では、累積合計を直接計算することでこれを行うことができます (より効率的なはずです)。 cross apply でこれを行うこともできます 、しかし私は標準 SQL の方が好きです。




    1. MySQL-重複テーブル

    2. 列のPHPMYSQLPDO SUM

    3. 列が存在しませんか?

    4. RailsコンソールはIDの配列でユーザーを検索します