我試圖在條件滿足時找到第一個日期。因此,邏輯是如下:滿足某些條件時的第一個日期
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