2

クエリに合計を追加しようとしていSELECTますが、これが機能しない理由を理解するのに苦労しています:

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 ;

すべての助けに感謝します!

4

1 に答える 1

3

これを試して:

SELECT client, job_type, sum(actual_value_fee)
 FROM jo2details 
 GROUP BY client, job_type WITH ROLLUP
于 2012-07-26T12:06:31.007 に答える