1
我有需要通過COLB groupbed戕COLC值的特定平均可樂的計數的查詢。例如轉換子查詢,以一個單一的查詢蜂房
SELECT COUNT(X.colA), X.colB , X.MEASURE
FROM (
SELECT colA , colB , avg(colC) MEASURE
FROM tableA
GROUP BY colA, colB
HAVING round(avg(colC),2) > 0
) X
GROUP BY X.MEASURE , X.colB
HAVING X.MEASURE BETWEEN 0 AND 3000
ORDER BY MEASURE
實施例的結果可能是
No of User, URL , average time spent
90182 , abc.com, 334
293556 , def.com, 33
與上述查詢問題是,由於它有一個子查詢中的內部子查詢洗牌一個龐大的數據量作爲中間結果以外部查詢其導致查詢在大型數據集上變得非常慢。
有沒有一種方法可以將上面的查詢轉換爲沒有子查詢的查詢,或者是否有任何UDAF可用,所以沒有更多的中間數據的主要洗牌,它在單一階段運行?