GROUP_CONCAT聚合函数inner join关联空表之后,查询有值

聚合函数group_concat要跟随group by,不然就会导致一下场景:
b表为空表,按理说查询出来结果应该为0
select count() from (SELECT a.,GROUP_CONCAT(b.nickname SEPARATOR ‘,’) user a
INNER JOIN b on a.uid=b.uid where b.state=‘0’ )x
但是查询出来的结果会是1,而如果跟上group by之后就正确了
select count() from (SELECT a.,GROUP_CONCAT(b.nickname SEPARATOR ‘,’) user a
INNER JOIN b on a.uid=b.uid where b.state=‘0’ group by uid)x

你可能感兴趣的:(java)