Mysql 使用HAVING子句获取汇总总数

Mysql 使用HAVING子句获取汇总总数,mysql,sql,Mysql,Sql,我将这个SQL逻辑用于mapper函数,它将帮助网格显示关于在每个位置完成每个培训的人数的信息 在使用having子句进行筛选后,尝试获取返回的行数时遇到问题。我相信这是由于在拥有之前运行了ROLLUP,但我不知道如何解决这个问题。 我的SQL: 当前结果: +------------+------------+-------+ | Name | Training_1 | count | +------------+------------+-------+ | Location

我将这个SQL逻辑用于mapper函数,它将帮助网格显示关于在每个位置完成每个培训的人数的信息

在使用having子句进行筛选后,尝试获取返回的行数时遇到问题。我相信这是由于在拥有之前运行了ROLLUP,但我不知道如何解决这个问题。
我的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)