这可能是一个简单的问题,但是我们非常感谢任何帮助(我仍然对SUM / GroupBy / MAX类型的实现存在一些挥之不去的问题。
我有下表:
+----------+-------+
| Date | Value |
+----------+-------+
| 1/1/2014 | 3 |
| 1/2/2014 | 9 |
| 1/3/2014 | 0 |
| 1/4/2014 | 11 |
| ... | ... |
| 7/9/2014 | 7 |
+----------+-------+
我想输入StartDate
和EndDate
并返回包含范围的SUM(Value)
的单行以及该范围内的MAX(Date)
...也就是说,如果我输入:
BeginDate = '1/1/14'
EndDate = '8/15/14'
我想返回值的总和以及日期'7/9/14'
我知道如何返回[日期范围]的SUM(值),我可以在[日期范围]中找到最大[日期],但把它放在一起让我感到惊讶,我想有效地做到这一点。有什么想法吗?
答案 0 :(得分:1)
尝试以下方法:
select Sum(Value), Max(Date)
from my_table
where Date Between @StartDate and @EndDate
答案 1 :(得分:1)
您可以在选择列表中组合两个或多个聚合,如下所示:
SELECT MAX(Date), SUM(Value)
FROM MyTable
WHERE Date BETWEEN '2014-01-01' AND '2014-08-15';