【发布时间】:2021-10-17 05:17:53
【问题描述】:
目前我在 mysql 中有 2 个表,它们是列表表和代理表。 listings 表包含所有状态、refno 和与该特定产品一起使用的 agent_id。现在这些代理的名称存储在我的代理表中。因此,要使用特定列表引用代理名称,我使用inner join 代理表并检查agent_id = id 所在的所有条目。这给了我正确的输出。
现在我正在使用它们各自的代理检索每个产品的所有状态计数:
select SUM(t.status = 'D' ) AS draft,
SUM(t.status = 'N' ) AS unpublish,
SUM(t.status = 'Y' ) AS publish,
SUM(t.status = 'S' ) AS sold,
SUM(t.status = 'T' ) AS let, c.name
FROM listings t INNER JOIN agents c ON t.agent_id = c.id
GROUP BY t.agent_id
但现在我想要一个额外的行和列来计算每行和每列中的数据总数。 像这样的:
dbfiddle 链接:https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=f1f7ce90a0562b75f62641272ccf1a93
【问题讨论】:
-
你确定你使用的是MySql吗?
-
是的,它在我的 phpmyadmin 中显示 mysqli
-
如果是 MySql,那么 WITH ROLLUP 应该可以工作。执行
select @@version;确定。 -
上面写着 10.4.21-MariaDB
-
在 MariaDB 中使用 ROLLUP。
标签: mysql