SQL SUMER MAX以值的和方式生成日期

时间:2014-07-10 17:40:17

标签: sql sql-server

这可能是一个简单的问题,但是我们非常感谢任何帮助(我仍然对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 |
+----------+-------+

我想输入StartDateEndDate并返回包含范围的SUM(Value)的单行以及该范围内的MAX(Date) ...也就是说,如果我输入:

BeginDate = '1/1/14'
EndDate   = '8/15/14'

我想返回值的总和以及日期'7/9/14' 我知道如何返回[日期范围]的SUM(值),我可以在[日期范围]中找到最大[日期],但把它放在一起让我感到惊讶,我想有效地做到这一点。有什么想法吗?

2 个答案:

答案 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';