我試圖在sql中進行查詢以將特定數據放入組中。 所以我想在接下來的組數據進行分類:如何使用sql查詢對組中的特定數據進行分類
[1-90m²] group1
[91-140m²] group2
[141-190m²] group3
[191-300m²] group4
[300+m²] group5
但我只是有確切的數據.. Example 87m² -->[1-90m²] 160m² --> [141-190m²]
。
有誰知道如何做到這一點? 謝謝!
我試圖在sql中進行查詢以將特定數據放入組中。 所以我想在接下來的組數據進行分類:如何使用sql查詢對組中的特定數據進行分類
[1-90m²] group1
[91-140m²] group2
[141-190m²] group3
[191-300m²] group4
[300+m²] group5
但我只是有確切的數據.. Example 87m² -->[1-90m²] 160m² --> [141-190m²]
。
有誰知道如何做到這一點? 謝謝!
通常被稱爲離散化。
我打算假設這些值存儲在一個沒有單位文本的整數字段中;如果這個假設是錯誤的或者數據類型不是整數,你可以改變這個:
DECLARE @test TABLE
(
id int IDENTITY,
value int
)
INSERT INTO @test (value) VALUES
(1),
(2),
(3),
(95),
(140),
(141),
(193),
(240),
(300),
(301)
SELECT value,
CASE
WHEN value <= 90 THEN 1
WHEN value <= 140 THEN 2
WHEN value <= 190 THEN 3
WHEN value <= 300 THEN 4
ELSE 5
END AS group
FROM @test
假定表YourTable
具有數據的列woonoppervlakte
像87
:
select case
when woonoppervlakte between 1 and 90 then 'group1'
when woonoppervlakte between 91 and 140 then 'group2'
when woonoppervlakte between 141 and 190 then 'group3'
when woonoppervlakte between 191 and 300 then 'group4'
when woonoppervlakte > 300 then 'group5'
end as [Group]
, *
from YourTable
謝謝,但在我的專欄裏只有87個,而不是87平方米。 具有m2值的列的名稱是「woonoppervlakte」,並且具有組的列的名稱是「group」 – warnerst 2013-02-14 15:33:54
你使用的是什麼rdbms?您的數據是否實際與相同列中的數字和字母一起存儲? – Taryn 2013-02-14 15:02:11
你的問題是什麼?如何分組數據或如何轉換87m²到[1-90m²]? – Art 2013-02-14 15:07:32