使用子查询时的MySQL分组

时间:2019-06-21 21:34:16

标签: mysql group-by subquery

我正在尝试创建摘要输出,以基于子查询中的值显示总计,然后按标签对输出进行分组

查询如下:

HOST

我希望它向我显示每个中心的广告和ac,但只显示列表中最后一个中心的ac值,其余显示为零

如果我删除了该组,那么我会得到所有条目的列表,但不会以任何方式进行汇总,因此我需要该汇总视图

1 个答案:

答案 0 :(得分:0)

返回意外结果的SQL语句执行起来并不多。

没有规范,用示例数据和预期输出来帮助说明,我们只是在猜测查询应该达到的结果。

我认为问题的症结在于为function submitLog() { let tableRefLog = document.getElementById('table'); let newRowLog = tableRefLog.insertRow(-1); let newCellBlank = newRowLog.insertCell(0); let newCellSku = newRowLog.insertCell(1); let sku = document.createTextNode(document.querySelector('#sku_dropdown').value); newCellSku.appendChild(sku); document.getElementById('submit_log').onclick = submitLog; 返回的t.employee的值,对于GROUP BY具有多个值的多个明细行被折叠为t.employee的每个值,而c.centre的值来自集合中的“某行”。 (特定于MySQL的非标准扩展允许查询运行而不会引发错误,而其他RDBMS则会引发错误。我们可以通过在`sql_mode中包含t.employee来使MySQL的行为更加符合标准。但是只会导致问题中的SQL引发错误。)

建议的解决方案(只是一个猜测)是在执行ONLY_FULL_GROUP_BY之前,为每个员工派生acad,然后进行汇总。

(我仍然怀疑与GROUP BY的联接,没有包含在子查询中。centreemployee中的主键还是唯一键?是{{1 }}在功能上取决于employees?问题太多,假设太多。

我的猜测是,我们在查询返回的结果之后是这样的:

centre