2016-09-25 36 views
0

對於我表中的每一行,我都有一個關聯的數字範圍。例如,在第1行中 - 在「範圍」列中,範圍爲1-5。如何將一系列值分類爲標準化的值範圍?

我想要做的是將'範圍'映射到標準化的桶中。所以,標準化的桶的範圍爲0-3,3-7等等。所以,基於1-5的範圍,我希望SQL返回0-3作爲標準化範圍。

輸入行:

Col1 Col2  
John 6-12 

預期結果:

Col1   Col2  Standardized Col3 
John   6-12   7-15 

我在爲如何在SQL代碼這樣的損失 - 誰能幫助?

+0

我建議擴大你的問題,以顯示輸入行和預期輸出。 – EvilTeach

+1

編輯您的問題並顯示樣本數據和所需結果,並用您正在使用的數據庫標記問題。 –

回答

0

您可以使用情況

select case range 
     when betweeen 0 and 3 then 1 
     when between 4 and 7 then 2 
     else 3 
     end 
from my_table 

select Col1, Col2, case range 
     when '1-5' then '0-3' 
     when '6-12' then '7-15' 
     else '16-22' 
     end as Standardized 
from my_table 
+0

問題不是像那樣黑/白。例如,如果一行具有範圍(6-12),並且標準化存儲區的選項是0-3,3-7和7-12,那麼我希望該行返回7-12作爲標準化範圍大部分重疊。 –

+0

解釋更好的問題添加適當的數據樣本和預期的結果。 – scaisEdge

+0

我在問題中添加了數據示例 –

相關問題