1

我正在尝试在 sql 中进行查询以将特定数据分组。所以我想在下一组中对数据进行分类:

[1-90m²] group1
[91-140m²] group2
[141-190m²] group3
[191-300m²] group4
[300+m²] group5

但我只有确切的数据Example 87m² -->[1-90m²] 160m² --> [141-190m²]...

有谁知道如何做到这一点?谢谢!

4

2 回答 2

4

这通常称为离散化。

我将假设这些值存储在一个没有单位文本的整数字段中;如果这个假设是错误的或者数据类型不是整数,你可以改变这个:

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
于 2013-02-14T15:05:30.360 回答
2

假设表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
于 2013-02-14T15:05:10.137 回答