2014-10-09 14 views
0

這可能很簡單,但我無法弄清楚。我嘗試過使用多個查詢和UNION,但我只是獲得了一個包含平均數量但不包含任何ColumnA的列,作爲與平均值關聯的範圍的參考。SQL在一列中顯示定義的範圍,並在第二列中顯示結果

我有TABLE1中的ColumnA和ColumnB表中的兩個字段。 ColumnA是價格,而ColumnB具有該價格的項目數量。

我想在ColumnA中定義範圍,例如「where ColumnA在11和20之間作爲範圍1」「其中ColumnB在21和30之間」等等......然後獲得產品的平均數量在這個價格範圍內。

例如,查詢 結果會是什麼樣子:

ColumnA | ColumnB

Range 1 | 15.9

範圍2 | 16.7

範圍3 | 19.8

任何輸入將不勝感激!

回答

1

如果這些範圍不重疊:

select 
    case 
     when ColumnA between 11 and 20 then 'Range 1' 
     when ColumnA between 21 and 30 then 'Range 2' 
     ... 
    end, 
    avg(ColumnB) 
from tab 
group by 1 
+0

真棒!像魅力一樣工作。我相信這在將來會派上用場。謝謝! – TheIntrepidSpiff 2014-10-10 13:54:14