首页 > 解决方案 > Сoncatenation 将行合并到一个表中

问题描述

我有一个有 2 列的表,其中之一是类别:

类别 平均和
1 10
2 100
3 1000
4 10000
5 100000

我需要将第二行和第三行,第四行和第五行合并,并在接收到的行中执行操作 AVG

所以表必须是这样的:

类别 平均和
1 10
2 550
3 60000

有什么想法吗?

标签: mysqlsql

解决方案


SQL 表表示无序集。您可以使用case表达式来定义组:

select (case when category in (2, 3) then 2
             when category in (4, 5) then 3
             else category
        end) as new_category,
       avg(avgsum) as avgsum
from t
group by new_category;

推荐阅读