如何解决SQL Case语句作为列
我有以下Case语句,希望将其显示为输出中的列值,以便结果集的格式如下:
SELECT
l.Title as List,CASE
WHEN _Custom57 between 13 and 17 THEN '13-17'
WHEN _Custom57 between 18 and 24 THEN '18-24'
WHEN _Custom57 between 25 and 34 THEN '25-34'
WHEN _Custom57 between 35 and 44 THEN '35-44'
WHEN _Custom57 between 45 and 54 THEN '45-54'
WHEN _Custom57 >= 55 THEN '55-64'
WHEN _Custom57 >= 65 THEN '65+'
END as Age,COUNT(r.ID) as RecipCount
FROM mytable (NOLOCK)```
解决方法
有条件的聚合
<input type="number" @bind="@object.AllocationPercentage" />
,
您可以使用数据透视表构建查询。.下面的示例-
SELECT * from
(SELECT
l.Title as List,CASE
WHEN _Custom57 between 13 and 17 THEN '17 and under'
WHEN _Custom57 between 18 and 24 THEN '18-24'
WHEN _Custom57 between 25 and 34 THEN '25-34'
WHEN _Custom57 between 35 and 44 THEN '35-44'
WHEN _Custom57 between 45 and 54 THEN '45-54'
WHEN _Custom57 >= 55 THEN '55-64'
WHEN _Custom57 >= 65 THEN '65+'
END as Age,COUNT(r.ID) as RecipCount
FROM mytable) t
PIVOT (
sum(RecipCount) for age in ([17 and under],[18-24],[25-34],[35-44],[45-54])
) as PVT
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。