从我之前提到的this question开始,说我想在查询中添加ID
:
SELECT client, ID, job_type, SUM(actual_value_fee) FROM jo2details GROUP BY client, job_type WITH ROLLUP
但我不希望MySQL尝试总计ID
列,因为它是表中记录的标识符,而不是“summable”。如何从ID
中排除WITH ROLLUP
?
答案 0 :(得分:0)
一种方法是UNION两个查询。第一个查询将具有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
从这里开始,你将不得不玩它以使小计正确排序。