mysql - Сoncatenation 将行合并到一个表中
问题描述
我有一个有 2 列的表,其中之一是类别:
类别 | 平均和 |
---|---|
1 | 10 |
2 | 100 |
3 | 1000 |
4 | 10000 |
5 | 100000 |
我需要将第二行和第三行,第四行和第五行合并,并在接收到的行中执行操作 AVG
所以表必须是这样的:
类别 | 平均和 |
---|---|
1 | 10 |
2 | 550 |
3 | 60000 |
有什么想法吗?
解决方案
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;
推荐阅读
- python-3.x - 我正在使用 tkinter 开发游戏。犯一个愚蠢的错误
- javascript - 在CKEditor 5上插入图像时如何获取输入alt-title
- javascript - Vue JS联系表单错误“无法读取未定义的属性'post'”
- vb6 - 不确定如何填充用户定义的类型记录/元素
- r - 如何将字符列表向量组合成一个字符向量,同时保持每个列表的内容不变
- node.js - 获取基于数组的长度 - 猫鼬
- python - 带管道的单线输出
- python-3.x - 如何在 python 中将 datetime.datetime(2020, 3, 5, 18, 55, tzinfo=tzoffset(None, 19800)) 转换为 2019-01-08 11:49:00.000000?
- ios - 在多个视图控制器中使用相同的表格视图单元
- matlab - 如何在 Simulink 中翻转时间序列数据?