从MySQL SELECT WITH ROLLUP中排除列



继我之前提出的这个问题之后,我想将ID添加到查询中:

SELECT client, ID, job_type, SUM(actual_value_fee) FROM jo2details GROUP BY client, job_type WITH ROLLUP

但我不希望MySQL尝试合计ID列,因为它是表上记录的标识符,而不是"可求和"的东西。我如何将IDWITH ROLLUP中排除?

一种方法是联合两个查询。第一个查询将具有id,第二个查询将生成小计。使用您的示例,它看起来像这样:

SELECT a.id, a.client, a.job_type, sum(a.actual_value_fee)
FROM jo2details a
GROUP BY a.client, a.job_type, a.id
UNION
SELECT NULL, b.client, NULL, sum(b.actual_value_fee)
FROM jo2details b
GROUP BY b.client
WITH ROLLUP

从这里开始,你必须摆弄它才能使小计正确排序。

最新更新