java - 如何连接同一个表中的两列
问题描述
SELECT CAST(`last_charged_date` AS DATE) AS Date_time, COUNT(*) AS
Charged_Count, SUM( last_charge_amt
) AS 来自subscriber
GROUP BY CAST的收入(截至last_charged_date
日期)
SELECT CAST( created_date
AS DATE) AS Date_time, COUNT(*) AS Registered_Count FROM subscriber
GROUP BY CAST( created_date
AS DATE)
我想加入
last_charged_date
并created_date
作为一列,需要根据日期将 Charged_Count、Revenue 和 Registered_Count 显示为单独的列
解决方案
您可以使用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;
推荐阅读
- python - 如何使用 for 循环向 dict 添加额外属性
- javascript - 请求 HTML JavaScript 隐藏输入
- r - 修改对象以在 R 中与 summary_table() 一起使用:“错误:`x` 必须是公式”
- python - 基于另一个线程激活一个线程
- r - 将整个文本放入绘图区域
- c++ - 为什么我的第二个 sendinput 实际上没有发送输入?
- javascript - Jquery İnput Keyup 泰语、英语和空间字符
- mysql - Elasticsearch 会更好地与像 MongoDB 这样的文档数据库或像 MySQL 这样的关系数据库一起工作吗?
- python - 如何使用 autouse 全局定义补丁?
- javascript - 在firebase中选择内部循环?