Home > other >  is there way to Join this two query of same table MySQL
is there way to Join this two query of same table MySQL

Time:08-25

This my Table :

name status type
one active paid
five non active free
ten active paid
one active paid
four non active free
three active paid
two non active free

the output i want is :

status status count type type count
active 4 free 3
non active 3 paid 4

can I achieve this output Within a single Query ?. I can get output by quering two times and store it seperate object in Java : for status count:
select status , count(status) from table group by status; for type count : select type , count(type) from table group by type; i have to query two times ?

CodePudding user response:

Try below query containing JOIN of two SUBQUERIES

select * from 
(select status , count(status)status_count from table group by status)table1
left join 
(select type , count(type)type_count from table group by type)table2 
on table1.status=table2.type;

CodePudding user response:

select status, case when status='active' then count(status) when status ='non-active' then count(status) end as status_count, type, case when type='free' then count(type) when type ='paid' then count(type) end as type_count from tab group by status,type

  • Related