简体   繁体   中英

i want MySQL query result in same row

SELECT sum(case when (gender)=1 THEN 1 ELSE 0 END),
       GROUP_CONCAT(sum(case when (gender)=2 THEN 1 ELSE 0 END) SEPARATOR ' ') as combine         
from family_member_tbl
GROUP BY gender 

NO, you can't nest grouping function like that. Rather get the sum first and then group_concat() like

select sum_1, sum_2, group_concat(sum_2) as combine
from (
SELECT gender,
       sum(case when gender = 1 THEN 1 ELSE 0 END) as sum_1,
       sum(case when gender = 2 THEN 1 ELSE 0 END) as sum_2         
from family_member_tbl
GROUP BY gender ) xxx
group by gender;

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM