【问题标题】:Oracle SQL using correctly sum over partitionOracle SQL 使用正确的分区求和
【发布时间】:2017-11-28 02:04:21
【问题描述】:

我想从已经建好的表中获取一些信息:

PIN     BS      DES     SPEND
12300   CRRT    001     $15 
12300   CN      001     $20 
12300   CRRT    002     $10 
12300   TRN     001     $5 
12300   PWR     001     $30 
12300   TRN     002     $5 
145000  PWR     001     $30 
145000  SOL     001     $1 
145000  CN      001     $20 
145000  SOL     002     $2 
145000  PWR     002     $40 

对于 BS 重复的每个案例和 SPEND 值总和,我需要相同的 PIN。

PIN     BS      SPEND
12300   CN      $20 
12300   CRRT    $25 
12300   PWR     $30 
12300   TRN     $10 
145000  CN      $20 
145000  PWR     $70 
145000  SOL     $3

但仍在试图弄清楚如何订购我的查询。

SELECT PIN, BS, 
SUM(SPEND) OVER (PARTITION BY BS ORDER BY DES) AS SUMSPEND, 
FROM DATA_TABLE ORDER BY PIN ASC

有什么帮助吗?

【问题讨论】:

    标签: sql oracle window-functions


    【解决方案1】:

    要获得发布的输出,您不需要总和的分析版本,只需这样做

    SELECT PIN, BS, SUM(SPEND) AS SUMSPEND
    FROM DATA_TABLE 
    group by pin, bs
    ORDER BY PIN ASC;
    

    【讨论】:

    • 没用,我尝试更改 sum 分析的顺序。
    猜你喜欢
    • 2013-11-11
    • 1970-01-01
    • 2011-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多