您的位置:首页 > 数据库

SQL 中条件count()用sum()代替

2016-04-01 00:00 393 查看
摘要: count ()对于null不计数 现在要计数不为空的列
换一个sum方法 满足条件计1,不满足为0
后者效果耗时更低,性能是前者两倍以上

------------------------------------------------------------------------------------------------

SELECT

COUNT(

CASE WHEN ${x} > 0 THEN name ELSE NULL end) AS

addCount,

COUNT(

CASE WHEN ${y} > 0 THEN name ELSE NULL end) AS

delCount

FROM

tablename

where...

测试耗时:30min

------------------------------------------------------------------------------------------------

SELECT

SUM(

CASE WHEN ${x} > 0 THEN 1 ELSE 0end) AS addCount,

[b]SUM[/b](

CASE WHEN ${y} > 0 THEN 1 ELSE 0 end) AS delCount

FROM
tablename
where...

测试耗时8min

------------------------------------------------------------------------------------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: