如何解决合并来自同一表的两行并计算总计
我有一个包含两列的表,如下所示:
total | measure
________________
1 | private vehicle use
4 | private car use
7 | other
我想将前两行合并为一行,将合并行的度量(strEUCategory)重命名为“ Private Vehicle Use”。我也想合并总数。 我已经研究了CASE和PIVOT,但是在计算总数时却无法使它工作。
这是我的查询。
SELECT count(m.strEUCategory) as total,m.strEUCategory as measure
from laqm2_AQAP_measures m
where m.strYearIntroduced <=2020 and m.strCompletionYear >=2020
group by m.strEUCategory
order by m.strEUCategory
解决方法
我认为您需要case
表达式和聚合:
select
case when strEUCategory = 'private car use' then 'private vehicule use' else strEUCategory end as measure,count(*) cnt
from laqm2_AQAP_measures
where strYearIntroduced <= 2020 and strCompletionYear >= 2020
group by measure
order by measure
如果您想对新类别名称进行更多控制,则:
select
case when strEUCategory in ('private car use','private vehicle use')
then 'Private Vehicule Use'
else strEUCategory
end as measure,count(*) cnt
from laqm2_AQAP_measures
where strYearIntroduced <= 2020 and strCompletionYear >= 2020
group by measure
order by measure
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。