x
SELECT CAST(`last_charged_date` AS DATE) AS Date_time, COUNT(*) AS
Charged_Count, SUM(last_charge_amt
) AS Revenue
FROM subscriber
GROUP BY CAST(last_charged_date
AS DATE)
SELECT CAST(created_date
AS DATE) AS Date_time, COUNT(*) AS Registered_Count
FROM subscriber
GROUP BY CAST(created_date
AS DATE)
I want to join
last_charged_date
andcreated_date
as one column and need show Charged_Count, Revenue, and Registered_Count as separate columns according to the date
Advertisement
Answer
You can use union all
:
select date,
sum ( col = 'last_charged' ) as Charged_Count,
sum (case when col = 'last_charged' then Revenue else 0 end ) as Revenue,
sum ( col = 'created_date' ) as Registered_Count
from (select CAST(s.`last_charged_date` AS DATE) as date,
s.`last_charge_amt` as Revenue, 'last_charged' as col
from `subscriber` s union all
select CAST(s1.`created_date` AS DATE) as created_date,
0, 'created_date' as col
from `subscriber` s1
) t
group by date;