简体   繁体   English

SQL查询中的变量和

[英]variable sum in sql query

I have below table data : 我有下表数据:

ID  DATA    VALUE
1   SUM      10
1   SUM      20
1   SUM      30
1   MIN      30

Now i want find total of 1 ID. 现在我想找到总共1个ID。

This will work : 这将起作用:

SELECT 
  ID, 
  SUM(CASE(DATA) 
         WHEN 'SUM' THEN VALUE 
         ELSE -VALUE 
      END) TOTAL 
FROM #TEMP 
GROUP BY ID 

I think you want: 我想你想:

select sum(case when data = 'sum' then value
                when data = 'min' then - value
           end) as total
from t
where id = 1;

The data value SUM and MIN are really, really bad choices because these are the names of SQL functions that do something different. 数据值SUMMIN确实是非常糟糕的选择,因为这些是执行某些操作的SQL函数的名称。 I might simply suggest + and - or add/subtract or plus/minus. 我可能只是建议+-或加/减或加/减。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM