我有一张表,我试图从列中选择日期(时间戳),RiskCategory(文本)和Point(int)的位置进行趋势分析。我想要返回的是每个日期使用RiskCategory对点和组进行SUM。我可以通过以下方式获得最新信息:
SELECT Date,RiskCategory,SUM(Point) AS Total
FROM risktrend WHERE DATE(Date) >= (SELECT MAX(DATE(Date)) FROM risktrend)
GROUP BY RiskCategory;
但我正在努力为所有日期返回相同的内容。我正在使用MySQL。
我应该进一步详细说明,任何日期都可以有多个条目,但RiskCategory只能是管理,可用性或容量。因此,对于每个日期,我应该看到后三个点的总和。例如,
2010-10-06 Capacity 508
2010-10-06 Administrative 113
2010-10-06 Availability 243
2010-10-07 Capacity 493
2010-10-07 Administrative 257
2010-10-07 Availability 324
答案 0 :(得分:2)
您需要通过子句将日期添加到您的组:
SELECT Date,
RiskCategory,
SUM(Point) AS Total
FROM risktrend
WHERE DATE(Date) >= (SELECT MAX(DATE(Date)) FROM risktrend)
GROUP BY Date, RiskCategory;