如何查询分组记录的最大数量并显示该日期

时间:2015-07-22 18:00:28

标签: sql-server-2008 tsql reporting-services

我有一个视图,根据项目和日期汇总项目数量。我现在想从这些结果中查询最大值(数量)和日期。如果Max(Quantity)有多个日期,则要显示最旧日期。只想要一条记录。这是一个数据示例:

Example 1
Item       quantity       Date
I1         100            1/1/2010
I1         100            2/1/2010
I1         5              3/1/2010

在这种情况下,我只想查看最早的日期的第一条记录。

因为使用max,需要按组。我该如何重写这个查询。如果需要可以使用存储过程。将显示在报告中。

Select Item, Max(quantity), LoadDate
from vwArchiveQuantityByLoadDate
where Item = 'I1'
group by Item, LoadDate
order by Item, LoadDate

使用SQL Server 2008,报告服务。

1 个答案:

答案 0 :(得分:0)

只使用一种方式而不使用最大

<强> SQL Fiddle Demo

select top 1 item, quantity, date
from vwArchiveQuantityByLoadDate
where Item = 'I1'
order by quantity desc, date desc