我有lil - 一个sql卡错误(1064)。
SELECT sum(if(d.o_amount<='10')) as ten_s
我知道我们这里有简单的语法错误,但我怎么能解决它? 感谢名单!
答案 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