2012-07-26 2 views
0

앞서 제기 this question에 이어, 내가 쿼리에 ID를 추가 할 말 :MySQL에서 열을 제외 시키십시오. SELECT WITH ROLLUP?

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

하지만이 기록에 대한 식별자의 나는 MySQL을가 ID 열을 총을 시도하고 싶지 않아 "summable"이 아닌 테이블 위에. WITH ROLLUP에서 ID을 어떻게 제외시킬 수 있습니까?

답변

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 

여기서부터는 소계를 제대로 정렬하려면 놀아야합니다.