SQL如果语法错误

时间:2016-02-11 09:34:44

标签: sql if-statement syntax

我有lil - 一个sql卡错误(1064)。

SELECT sum(if(d.o_amount<='10')) as ten_s

我知道我们这里有简单的语法错误,但我怎么能解决它? 感谢名单!

4 个答案:

答案 0 :(得分:1)

我想你的意思是:

SELECT sum(d.o_amount) as ten_s FROM table_name WHERE d.o_amount <= 10

答案 1 :(得分:0)

使用CASE

SELECT SUM(CASE WHEN d.o_amount<=10 THEN d.o_amount ELSE 0 END) as ten_s

答案 2 :(得分:0)

即使您可以使用CASE表达式。只是另一种观点。

<强>查询

select sum(case when d.o_amount <= 10 then d.o_amount else 0 end) as ten_s
from your_table_name;

答案 3 :(得分:0)

根据您的查询的其余部分:

您可以在金额值上添加限制:

SELECT sum(d.o_amount) as ten_s 
FROM table_name 
WHERE d.o_amount <= 10

或者使用case表达式来保留所有行,但只需要总和:

SELECT sum(case when d.o_amount <= 10 then d.o_amount else 0 end) as ten_s