有如下两张表:
1、区域表
CREATE TABLE `sys_area` (
`id` int(11) NOT NULL,
`name` varchar(100) DEFAULT NULL COMMENT '区域名称',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
2、数量表
CREATE TABLE `sys_count` (
`id` int(11) NOT NULL,
`areaid` int(11) DEFAULT NULL COMMENT '区域id',
`count` int(11) DEFAULT NULL COMMENT '数量',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
根据区域统计数量表获取每个区的数量
SELECT area.`name`, sum(a.count) as count
FROM sys_count a
LEFT JOIN sys_area area ON a.areaid = area.id
GROUP BY areaid
获得结果如下:
count | name |
---|---|
28 | A区 |
18 | B区 |
19 | C区 |
26 | D区 |
问题:现在需要将A和B区的数据合并起来算作A区的数据
期望的是:
count | name |
---|---|
46 | A区+B区 |
19 | C区 |
26 | D区 |
SQL应该如何调整
SELECT
CASE
WHEN area.`name` IN ('A区', 'B区') THEN 'A区+B区'
ELSE area.`name`
END AS `name`,
SUM(a.count) as count
FROM sys_count a
LEFT JOIN sys_area area ON a.areaid = area.id
GROUP BY `name`
问题内容: 我有一个这样的表: 我想将连续序列号分组为一行,如下所示: 请帮助实现此结果。 问题答案:
问题内容: 我以前从未将golang与mysql一起使用,因此我是 第一次阅读这些内容。我想做这样的事情: 这种输入太多了,尤其是当我想 将更多变量添加到WHERE条件中时。 如果这是PHP,我将执行以下操作: 通过使用foreach循环,我可以动态生成查询并根据需要动态绑定尽可能多的变量。 像golang和mysql这样的选项吗?还是有其他选择不对查询输入每个变量组合? 问题答案: 如果您的地图
问题内容: 我有大约700万行,其中有60列以上。数据超出了我的内存容量。我正在基于列“ A”的值将数据聚合到组中。熊猫拆分/汇总/合并的文档假定我已经将所有数据都存储在了,但是我无法将整个商店读取到内存中。在分组数据的正确方法是什么? 问题答案: 这是一个完整的例子。 输出量 一些警告: 1)如果您的组密度相对较低,则此方法很有意义。大约数百或数千个组。如果获得的收益更多,则效率更高(但方法更复
问题内容: 我有一个监视系统,它每n秒收集一次数据(n大约为10,但有所不同)。我想每隔15分钟汇总一次收集的数据。有没有一种方法可以将时间戳记值合并为15分钟的块,以便分组工作? 问题答案:
本文向大家介绍Sequelize中用group by进行分组聚合查询,包括了Sequelize中用group by进行分组聚合查询的使用技巧和注意事项,需要的朋友参考一下 一、SQL与Sequelize中的分组查询 1.1 SQL中的分组查询 SQL查询中,通GROUP BY语名实现分组查询。GROUP BY子句要和聚合函数配合使用才能完成分组查询,在SELECT查询的字段中,如果没有使用聚合函数
为了给出backfround,我使用