select count(distinct name) from table a
group by name
结果会有等于null 和 等于 ‘’ 都有啊
我想把null转换为‘’一起算条数怎么写啊
------解决思路----------------------
里面先执行一次查询,将两种情况合并,外面再Group by
以oracle为例:
SELECT COUNT(NAME) FROM
(
SELECT NVL(NAME, '') AS NAME FROM TABLE
)
GROUP BY NAME
------解决思路----------------------
给null字段设置个默认值''就完了
------解决思路----------------------
isnull(name,'')
------解决思路----------------------
select count(distinct isnull(name,'')) from table a
group by isnull(name ,'')
------解决思路----------------------
你已经 count(distinct name)
null, '' 都只会计算一条,和你的期望是有差距的
select count(distinct ifnull(name,'')) from table a
看看就知道 '' 组最多是1
------解决思路----------------------
用isnull函数给null的字段指定默认值就行了。