当前位置: 首页 >> Mysql >> mysql执行group by之后count(*)的结果为空解决办法 >> 正文

mysql执行group by之后count(*)的结果为空解决办法

3年前 (2016-08-08)     作者:4869     分类:Mysql     阅读次数:2225     评论(1)    文章页统计代码

测试用了几种mysql 查询结果null转0的写法,均不通过,查询的结果都是null,然后找了百度叔叔,终于破解了,特此记录:

-- 原来的写法
SELECT
	count(*),
	COALESCE (count(*), 0),
	IFNULL(count(*),0),
	CASE count(*) 
	WHEN count(*) is NULL THEN 0
	ELSE count(*)
	END
FROM
	stock_palautus AS sp
LEFT JOIN purchase_suppliers AS ps ON sp.SP_SUPPLIER_ID = ps.PS_ID
LEFT JOIN stock_palautus_detail spd ON spd.SPD_SP_ID = sp.SP_ID
LEFT JOIN materials m ON m.MATERIALS_ID = spd.SPD_MATERIALS_ID
WHERE
	SP_DEL =0
AND SP_STATUS IN (1, 5)
AND SPD_STATUS IN (0, 2)
GROUP BY
	SP_ID

	
-- 修改后的写法,用了子查询
SELECT count(*) FROM(
	SELECT
		SP_ID
	FROM
		stock_palautus AS sp
	LEFT JOIN purchase_suppliers AS ps ON sp.SP_SUPPLIER_ID = ps.PS_ID
	LEFT JOIN stock_palautus_detail spd ON spd.SPD_SP_ID = sp.SP_ID
	LEFT JOIN materials m ON m.MATERIALS_ID = spd.SPD_MATERIALS_ID
	WHERE
		SP_DEL =0
	AND SP_STATUS IN (1, 5)
	AND SPD_STATUS IN (0, 2)
	GROUP BY
		SP_ID
) as bb


除非注明,发表在“石马人山的博客”的文章『mysql执行group by之后count(*)的结果为空解决办法』版权归4869所有。 转载请注明出处为“本文转载于『石马人山的博客』原地址http://longlonggo.com/post/319.html
文章页分享代码

评论

发表评论   

昵称*

E-mail*(建议输入,以便收到博主回复的提示邮件)

网站