从MySQL SELECT WITH ROLLUP中排除列?

时间:2012-07-26 13:38:19

标签: mysql rollup

从我之前提到的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

1 个答案:

答案 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

从这里开始,你将不得不玩它以使小计正确排序。