[英]How to Join two columns in same table
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) Charged_Count, SUM(
last_charge_amt
) AS 来自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) 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我想将
last_charged_date
和created_date
作为一列加入,并需要根据日期将 Charged_Count、Revenue 和 Registered_Count 显示为单独的列
You can use union all
:您可以使用
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;
use subquery and join but for this case in any date less in of the subquery data will be less使用子查询和连接,但对于这种情况,在任何日期中,子查询数据中的较少数据将较少
select a.*,b.* from ( 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)
) a join
(
SELECT CAST(`created_date` AS DATE) AS Date_time, COUNT(*) AS Registered_Count
FROM `subscriber`
GROUP BY CAST(`created_date` AS DATE)
) b on a.Date_time=b.Date_time
Try this query,试试这个查询,
SELECT CAST(`last_charged_date` AS DATE) AS Date_time, COUNT(*) AS Charged_Count, SUM(last_charge_amt) AS Revenue, ksolangi.Date_time, Date_time.Registered_Count
FROM subscriber
LEFT OUTER JOIN ( SELECT CAST(created_date AS DATE) AS Date_time, COUNT(*) AS Registered_Count FROM subscriber GROUP BY CAST(created_date AS DATE) ) AS ksolangi ON ksolangi.Date_time = CAST(last_charged_date AS DATE)
GROUP BY CAST(last_charged_date AS DATE)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.