如何选择小于30的数字和大于30的数字之和?

3 sql oracle teradata

我正在尝试编写一个SELECT语句来选择字段的总和,但我想返回小于30的数字之和以及大于30的数字之和.我意识到我可以将两个选择连接在一起,但是我希望能找到一种"整洁"的方式.

Vil*_*lx- 19

沿着这些方向的东西(纠正您的环境的语法):

SELECT
    sum(case when Field < 30 then Field else 0 end) as LessThan30,
    sum(case when Field > 30 then Field else 0 end) as MoreThan30
FROM
    DaTable
Run Code Online (Sandbox Code Playgroud)

  • 你可以添加一个where子句:其中Field不为null而Field!= 30可能对大多数记录的Field为30并且Field上有索引有帮助. (2认同)