2012-07-26 98 views
2

我想有些合計添加到我的SELECT查詢,但我掙扎明白爲什麼這是行不通的:WITH ROLLUP沒有表現出我所期待的MySQL

SELECT client, job_type, actual_value_fee FROM jo2details GROUP BY client, job_type WITH ROLLUP

這裏是我預計看到:

+--------+----------+------------------+ 
| client | job_type | actual_value_fee | 
+--------+----------+------------------+ 
| 110 | 2  | 1250    | 
| 110 | 20  | 200    | 
| 110 |   | 1450    | 
| 228 | 27  | 1000    | 
| 228 |   | 1000    | 
| 229 | 32  | 0    | 
| 229 |   | 0    | 
|  |   | 2450    | 
+--------+----------+------------------+ 

但這裏是我得到:

+--------+----------+------------------+ 
| client | job_type | actual_value_fee | 
+--------+----------+------------------+ 
| 110 | 2  | 1250    | 
| 110 | 20  | 200    | 
| 110 |   | 200    | 
| 228 | 27  | 1000    | 
| 228 |   | 1000    | 
| 229 | 32  | 0    | 
| 229 |   | 0    | 
|  |   | 0    | 
+--------+----------+------------------+ 

這裏的表:

CREATE TABLE `jo2details` (
    `ref` int(11) unsigned NOT NULL AUTO_INCREMENT, 
    `ID` int(11) unsigned NOT NULL, 
    `client` int(11) unsigned NOT NULL, 
    `job_type` int(11) unsigned DEFAULT NULL, 
    `actual_value_fee` decimal(11,2) DEFAULT NULL, 
    `last_updated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, 
    PRIMARY KEY (`ref`), 
    UNIQUE KEY `ref` (`ref`,`ID`), 
    UNIQUE KEY `ref_2` (`ref`,`ID`,`client`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=413 ; 

所有幫助非常感謝!

回答

3

試試這個:

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