来自同一个表的两列的SUM

时间:2016-01-12 07:47:23

标签: sql oracle select sum

我有一个名为ITEM_MASTER的表格为

ITEM
LEVEL

LEVEL可以是1或2。

我想找到1级物品中2级物品的计数差异。

SUM = Level2 Items - Level1 Items

2 个答案:

答案 0 :(得分:3)

这样做的一个巧妙方法是将level2项目计为正数,将level1项目计为负数,并使用case表达式:

SELECT SUM(CASE level WHEN 2 THEN 1 ELSE -1 END)
FROM   item_master

编辑:
上述查询假设level只能是1或2.如果不是这样,您必须在case表达式中处理它:

SELECT SUM(CASE level WHEN 2 THEN 1 WHEN 1 THE -1 END)
FROM   item_master

答案 1 :(得分:1)

一个简单的查询就是

var items = [
{name:"Nick"},
{name:"Lee"},
{name:"Jenny"},
{name:null},
{name:null},
{name:null},
{name:"Graham"},
{name:"Erica"}]