繁体   English   中英

SQL Union按格式字符串分组

[英]SQL Union grouped by formatted strings

我试图总结来自2个不同表的2列,并按格式化字符串分组和排序。

模式要点是这样的:

Table A:
* Created At
* Amount Charged

Table B:
* Created At
* Cash Amount

请注意,它们共享一个列名,称为“ created at”,但是对于我要总结的列,它们具有不同的列名。

我想要一个结果,该结果表示对于1月份,表A收取的金额+表B现金金额的总和为x,对于2月为依此类推。

这是我格式化日期的方式:

str_to_date(concat(date_format( created_at ,'%Y-%m'),'-01')

您可以使用UNION ALL

SELECT str_to_date(concat(date_format(created_at, '%Y-%m'), '-01'), SUM(sub.c)
FROM (SELECT created_at, Amount AS c
      FROM tabA
      UNION ALL 
      SELECT created_at, Cash
      FROM tabB) sub
GROUP BY str_to_date(concat(date_format(created_at, '%Y-%m'), '-01');

我将用EXTRACT(YEAR_MONTH FROM created_at)替换str_to_date(concat(date_format(created_at, '%Y-%m'), '-01') EXTRACT(YEAR_MONTH FROM created_at)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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