【问题标题】:Sum all row exclude the negative numbers in Oracle Reports对所有行求和,不包括 Oracle Reports 中的负数
【发布时间】:2012-11-13 19:57:16
【问题描述】:

我有一张 10 行的桌子。我想对特定列中的值求和。但我想排除所有负数。

如何只求正数而忽略负数?

这是我的图片示例:

【问题讨论】:

    标签: sql oracle oraclereports


    【解决方案1】:

    根据您的规格,

    Select sum(col) 
    from table 
    where col>0;
    

    【讨论】:

    • 但是如何在设计器中而不是在 sql 中。例如,我有带有 +/- 数字的表格。但是如何在不求和否定数字的情况下将所有内容相加?
    • 我不知道,您应该从结果集中排除第 22 行。你需要它在结果集中吗?
    • 您可以使用另一个值为case when column_name > 0 then column_name else 0 end 的假列并对其求和。我无法在 oraclereports 上为您提供帮助。
    【解决方案2】:

    你可以这样做

    SELECT SUM( case when column_name > 0 
                     then column_name
                     else 0
                  end ) sum_of_non_negative
      FROM table_name
    

    【讨论】:

    • 但是如何在设计器中而不是在 sql 中。例如,我有带有 +/- 数字的表格。但是如何在不求和否定数字的情况下将所有内容相加?
    • @AminSCO - “在设计器中而不在 SQL 中”是什么意思?
    • @Justin Cave- 我的意思是在报告中。因为我使用变量对所有行求和。
    【解决方案3】:
    Select sum(col) 
    from table 
    where col>0
    AND   col not like '-%';
    

    【讨论】:

      猜你喜欢
      • 2021-07-27
      • 1970-01-01
      • 1970-01-01
      • 2021-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-14
      相关资源
      最近更新 更多