@[toc]
一、Mysql
1. sum
1.1. sum条件判断语句
select
SUM(
IF(判断条件,合计使用的字段名,默认值)
end
)别名
from
dual
1.2. 示例
--我这里合计field1,前提是field2必须大于0
select
SUM(
IF(field2>0,field1,0)
end
)field1
from
dual
- 执行结果
2. count
2.1. count条件判断语句
select
COUNT(
IF(判断条件,TRUE,NULL)
)别名
from
dual
2.2. 示例
- 还是以上边的数据为例,我要合计fieid2>0的记录数
select
COUNT(
IF(field2>0,TRUE,NULL)
) '满足条数'
from
dual
- 执行结果
二、Oracle
1. sum
1.1. sum条件判断语句
select
sum(
case
when 判断条件 then
符合判断条件
else
不符合判断条件
end
)别名
from
dual
1.2. 示例
select
sum(
case
when field1>0 then
field2
else
0
end
)field2
from
dual
2. count
2.1. count条件判断语句
select
count(
case
when 判断条件 then
符合判断条件
else
不符合判断条件
end
)别名
from
dual
2.2. 示例
select
sum(
case
when field1>0 then
1
else
null
end
)field3
from
dual