继我之前提出的这个问题之后,我想将ID
添加到查询中:
SELECT client, ID, job_type, SUM(actual_value_fee) FROM jo2details GROUP BY client, job_type WITH ROLLUP
但我不希望MySQL尝试合计ID
列,因为它是表上记录的标识符,而不是"可求和"的东西。我如何将ID
从WITH 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
从这里开始,你必须摆弄它才能使小计正确排序。