使用SQL語法找出某一欄位為極值時的資料列。
資料表如下圖:
查詢需求:
找出Time為最小值時的資料列(黃色標示的資料列)。
MSSQL語法1:
select top 1
[ItemID], [StateID], [Time]
from [Items]
order by [Time]
MSSQL語法2:
select [ItemID], [StateID], [Time]
from [Items]
where [Time] = (select min([Time]) from [Items] )
看看查詢成本:
看起來,第2種方法成本較低。
但是,我對資料表加入Time欄位的索引之後:
再看看查詢成本:
兩種寫法的成本就相同了。