Mysql 使用HAVING子句获取汇总总数
我将这个SQL逻辑用于mapper函数,它将帮助网格显示关于在每个位置完成每个培训的人数的信息 在使用having子句进行筛选后,尝试获取返回的行数时遇到问题。我相信这是由于在拥有之前运行了ROLLUP,但我不知道如何解决这个问题。Mysql 使用HAVING子句获取汇总总数,mysql,sql,Mysql,Sql,我将这个SQL逻辑用于mapper函数,它将帮助网格显示关于在每个位置完成每个培训的人数的信息 在使用having子句进行筛选后,尝试获取返回的行数时遇到问题。我相信这是由于在拥有之前运行了ROLLUP,但我不知道如何解决这个问题。 我的SQL: 当前结果: +------------+------------+-------+ | Name | Training_1 | count | +------------+------------+-------+ | Location
我的SQL:
当前结果:
+------------+------------+-------+
| Name | Training_1 | count |
+------------+------------+-------+
| Location_1 | 1 | 1 |
| Location_2 | 2 | 1 |
| | 5 | 10 |
+------------+------------+-------+
预期结果:
+------------+------------+-------+
| Name | Training_1 | count |
+------------+------------+-------+
| Location_1 | 1 | 1 |
| Location_2 | 2 | 1 |
| | 3 | 2 |
+------------+------------+-------+
编辑:
1使用左连接重新编写SQL。将在今天晚些时候添加用于创建表和插入数据的脚本。请尝试
SELECT ...
...
GROUP BY l.name, (tst.id = 1)
WITH ROLLUP
HAVING (Training_1 >= 1)
子查询/CTE.恶心!您正在混合
左连接
和右连接
。
SELECT ...
...
GROUP BY l.name, (tst.id = 1)
WITH ROLLUP
HAVING (Training_1 >= 1)