我正在尝试编写一个复合许多MySQL视图的查询。我正在使用的MySQL版本是亚马逊AWS RDS服务提供的最新版本。这些视图如下:
查看1:“AAA事件计数”
观点2:“BBB事件的数量”
我有大约100个这样的观点。
我希望有一个查询可以将这些数据整形为:
这意味着数据看起来像:
2013-01-01T00:00:00Z 10 BBB
2013-01-01T00:00:00Z 10 AAA
2013-04-10T00:00:00Z 26 AAA
2013-04-10T00:05:00Z 28 AAA
时间戳不是唯一的,但时间+事件类型的组合是唯一的。
我尝试过各种各样的方法,但没有什么能给我带来我想要的东西。性能不是问题,因为这些是摘要报告,而不是OLTP查询。
有什么好方法可以解决这个问题吗?
答案 0 :(得分:1)
SELECT Col1,Col2,“AAA”AS Col3 FROM View1
UNION ALL
SELECT Col1,Col2,“BBB”AS Col3 FROM View2
UNION ALL
SELECT Col1,Col2,“CCC”AS Col3 FROM View3
UNION ALL
。 。
等等。
答案 1 :(得分:0)
在上述人员的帮助下,最终结果如下:
Select * from
(
(SELECT PointInTime, (Col1+Col2+Col3) as Failures, "ApiName1" FROM Table1)
union all
(SELECT PointInTime, (Col1+Col2+Col3) as Failures, "ApiName2" FROM Table2)
order by PointInTime
) as X;
使用子查询可以让我根据需要调整最终的列名。
这会产生如下结果:
PointInTime FailedBuckets API
2013-01-01 0 ApiName1
2013-01-01 1 ApiName2
2013-01-02 0 ApiName1
2013-01-02 1 ApiName2