小编Tes*_*est的帖子

对年龄范围进行分类并在一列中显示

我想看数据如下

Member   Age  Category
Test1    25    Under 30
Test2    55    51-60
Test3    67    Above 60
Run Code Online (Sandbox Code Playgroud)

我使用了以下查询(来自我上一个问题的答案)根据出生日期和当前日期计算年龄,然后将每个年龄归类到一个名称下。

此查询正在创建单独的列,而不是我想查看一列下的所有类别,以便我可以对该类别列进行分组

WITH AgeData as
(
SELECT
    Username,
    Birthdate,
    DATEDIFF(YEAR, birthdate, GETDATE()) AS AGE
FROM @Table)
SELECT
    Username,
    Birthdate,
    Age,
    CASE
        WHEN AGE < 30 THEN 1
        ELSE 0
    END AS 'Under 30',
    CASE
        WHEN AGE BETWEEN 31 AND 40 THEN 1
        ELSE 0
    END AS '31 - 40',
    CASE
        WHEN AGE BETWEEN 41 AND 50 THEN 1
        ELSE 0
    END AS '41 …
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 sql-server

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

sql-server ×1

sql-server-2008 ×1