1
在這個例子中,率計算的結果存儲在一個臨時表@results
該表使用下面的查詢包含SQL查詢到每個位置從結果只返回一個最低的價格設定
code | loc | total
661098 | 105 | 96.49
661098 | 106 | 70.03
661098 | 107 | 81.53
702998 | 105 | 104.54
702998 | 106 | 70.03
,我們可以得到每個位置
select cr.loc, cr.total as lowest_total, cr.code
from @results cr
INNER JOIN (
SELECT loc, MIN(total) as lowest_total
from @results
GROUP BY loc) inside
ON inside.loc = cr.loc
and inside.lowest_total = cr.total
最低的價格給了我們以下
loc | total | code
105 | 96.49 | 661098
106 | 70.03 | 702998 <---
106 | 70.03 | 661098 <---
107 | 81.53 | 661098
個
注意兩個結果loc=106
......我們要隨機選擇(後者/高code
值或更好)的兩個那麼只有一個total
每loc
返回是否有更有效的(SQL-明智的)完成這種方式除了做另一個嵌套選擇或連接?
光滑...發送到DBA評估 – Dave 2014-09-19 16:42:10
反饋是它的工作出色。稍後會詳細解讀我自己的啓發。謝謝。 – Dave 2014-09-19 17:43:08