2014-03-27 79 views
0

我有兩個查詢 1-> select top 10 * from transaction_tbl order by transactID desc這是我使用從我的交易表 2->同時連接兩個查詢得到聚合函數錯誤

select avg(datediff(mi,t.dtime, t.PAICdate)) as 
Average from transaction_tbl t where locid=6 

此查詢我以最後10交易使用該獲得兩個日期之間的平均時間differnce .. 這兩個查詢工作的罰款..
我想只有最後的10次交易平均時間differnce

,所以我嘗試加入這個兩個查詢是這樣的:

select top 10 avg(datediff(mi,t.dtime, t.PAICdate)) as Average 
from transaction_tbl t 
where locid = 6 
group by transactID 
order by transactID desc; 

,但我得到的結果是這樣的: enter image description here

我想要得到的最後10個記錄

+1

。 。請編輯問題並添加樣本數據和期望的結果。目前尚不清楚你想要做什麼。 –

回答

1

使用這樣的嵌套查詢:

select avg(datediff(mi,t.dtime, t.PAICdate)) as Average 
from (
    select top 10 * from transaction_tbl where locid=6 order by transactID desc 
) t 
+0

這是工作正常..先生,如果我得到的平均東西像小於12.5然後我想顯示12或如果我得到的平均更大12.5然後我想顯示13 ..這是可能的嗎? – user3106114

+0

當然,只需使用ROUND()函數,例如:'select round(12.5,0)' – Dan

0

我覺得你TransactId要組總平均值爲:

select top 10 avg(datediff(mi,t.dtime, t.PAICdate)) as Average 
from transaction_tbl t 
where locid = 6 
group by transactID 
order by transactID desc; 

您的查詢失敗,因爲TransactID未聚合後知道的。

+0

這次我得到10條記錄的結果..我想得到總的平均時間在幾分鐘內 – user3106114