我试图在条件满足时找到第一个日期。因此,逻辑是如下:满足某些条件时的第一个日期
use
[AdventureWorksDW2012]
go
;WITH sales AS (
select d.OrderDateKey,
SalesAmount = SUM(d.SalesAmount)
from [dbo].[FactInternetSales] d
group by d.OrderDateKey
having SUM(d.SalesAmount)>10000
)
select FirstOrderDateKey = MIN(OrderDateKey)
from sales
唯一的问题是,在我的数据是过于复杂和庞大,为每个日期计算的值,然后选择当条件满足时敏时间。当互联网销售额超过10000时,有没有快速找到第一次约会的方法?是否需要某种循环?
你确定它是“过于复杂和巨大的”?无论您拥有的数据量如何,它都应该运行得非常快。确保你的表有索引。 – 2014-10-31 16:08:46
通常,在SQL上下文中循环的想法是错位的。代之以集合来考虑。 – J0e3gan 2014-10-31 16:11:19