2014-12-04 96 views
1
Select top(1) track_id 
From 
(select track_id, sum(sale_amt) total 
from dbo.Track_Daily_Sales 
group by track_id 
order by total 
) abc 

我得到一個錯誤ie ORDER BY子句在視圖,內聯函數,派生表,子查詢和公用表表達式中無效,除非TOP或FOR XML也被指定。在子查詢中使用子查詢頂部命令

我想用頂在子查詢與訂單子查詢中,這是可能的...

+0

請郵寄樣本數據和預期的結果查詢。 – sgeddes 2014-12-04 04:33:06

+0

改爲使用row_number()(按col排序) – radar 2014-12-04 04:33:26

+0

根據'top(1)'用法和'dbo'前綴添加'sql-server'標記。 – 2014-12-04 07:24:00

回答

1

爲了您的具體的例子,你並不需要的子查詢在所有如果關係不是關注:

select top 1 track_id 
from dbo.Track_Daily_Sales 
group by track_id 
order by sum(sale_amt) 

他再與rank()的方法來處理關係:

select track_id 
from (
    select track_id, rank() over (order by sum(sale_amt)) rn 
    from Track_Daily_Sales 
    group by track_id 
) t 
where rn = 1