我有一个看起来像这样的数据集:
total_sales
我们可以使用case根据category_id中的值对列product_id进行格式化,然后根据结果进行分组。
<>以前✓create table myTable( Report_id int, Category_id char(1), Product_id int, Yearmonth varchar(6), total_sales int );
insert into myTable values (10 ,'A', 1, 202201 ,10), (10 ,'A', 1, 202202 ,16), (10 ,'A', 2, 202201 ,11), (10 ,'A', 3, 202201 ,8), (10 ,'A', 4, 202201 ,12), (10 ,'A', 4, 202202 ,15), (10 ,'B', 7, 202202 ,19), (10 ,'B', 8, 202204 ,17), (10 ,'B', 9, 202203 ,9);
<>以前✓
Select Report_id, Category_id, Case when category_id = 'A' then 'misc' Else product_id end Product_ID, Yearmonth, Sum(total_sales) total_sales From myTable Group by 1,2,3,4;
Report_id | Category_id | Product_ID | Yearmonth | total_sales--------: | :---------- | :--------- | :-------- | ----------:10 | A |杂项| 202201 | 4110 | A |杂项| 202202 | 3110 | b | 7 | 202202 | 1910 | b | 8 | 202204 | 1710 | B | 9 | 202203 | 9
db<此处小提琴>此处小提琴>
可以聚合:
- total_sales with SUM函数
- product_id与
GROUP_CONCAT
以有条件的方式使用IF
函数
SELECT report_id,
category_id,
IF(GROUP_CONCAT(product_id) LIKE '%,%',
'misc',
GROUP_CONCAT(product_id)) AS product_id,
year_month_,
SUM(total_sales) AS total_sales
FROM tab
GROUP BY report_id,
category_id,
year_month_
点击这里查看演示。
注意:这是一个通用的解决方案,以防您的'misc'值应该在任何类别中找到,而不是根据您的特定样本数据在唯一的类别' a '中找到。
相关内容
- 没有找到相关文章
最新更新
- 按字符串部分排序的SQL (Postgresql)
- 表示如何创建一对多关系(添加数量列)
- 如何在垫子选项下制作2 span,使其在角材料中左右对齐自动完成
- c -如何用介子构建sdl2 ?
- 为什么在打字稿中给我错误?
- ViewModel数据不会单独绑定到UserControl
- 如何使Qr码大小固定在ZPL无论内容?
- 为什么使用异步函数"getDownloadURL"来获取 Firebase Storage 中的文件网址
- 如何使用killtimer来完成Qtimer;
- 动态内联样式的值由sass变量
- 如何在matlab中找到一行等于矩阵中的向量?我特别想要有索引
- 使用命令行构建Xcode 14.3 Rosetta
- 类型"可分配给类型"T"的约束,但"T"可以使用约束"RGT"的不同子类型进行实例化
- 如何修改字符串值并将其转换为int, bool等?
- TypeScript中的命令和响应泛型
- Swift + Firestore:如何获取相关对象
- 创建shared_ptr类与私有析构函数?
- 按company_id筛选Laravel关系
- Bash:向函数传递不同的参数列表
- 如何在文件系统Android 13上请求写入权限
- 按下ListView项目标题中的附件按钮
- c -将结构体转换为uint8_t *或char *并通过字节流访问它是多么安全?
- 为什么从Oracle中的某个表读取比从同一数据库中的其他表读取慢
- 收到警告:名称"猜测"可以未定义
- 将每小时ERA5 netcdf文件合并为每日文件
- 打字脚本"TS2339:属性'X'在类型'Y'"错误中不存在,即使定义了类型
- 尝试添加背景音乐到web应用程序
- 构建错误.在scala框架中使用PlayScala
- Ruby on Rails -从数组中获取前n个元素
- 没有更多的数据!现在,刮痧将会停止.不能使用twint获取更多tweets
热门标签:
javascript python java c# php android html jquery c++ css ios sql mysql arrays asp.net json python-3.x ruby-on-rails .net sql-server django objective-c excel regex ruby linux ajax iphone xml vba spring asp.net-mvc database wordpress string postgresql wpf windows xcode bash git oracle list vb.net multithreading eclipse algorithm macos powershell visual-studio image forms numpy scala function api selenium