create table t (
`place_id` int(11) NOT NULL ,
`area_sq` int (11) NOT NULL,
`nxx` int(11) NOT NULL
);
insert into t values(1, 50, 1);
insert into t values(2, 90, 2);
insert into t values(2, 20, 1);
insert into t values(2, 10, 0);
insert into t values(2, 10, 1);
insert into t values(3, 10, 3);
| PLACE_ID | AREA_SQ | NXX |
|----------|---------|-----|
| 1 | 50 | 1 |
| 2 | 90 | 2 |
| 2 | 20 | 1 |
| 2 | 10 | 0 |
| 2 | 10 | 1 |
| 3 | 10 | 3 |
上記はtと呼ばれる私のテーブルです。次の結果を得る必要があります
| PLACE_ID | SUM(AREA_SQ) |nxx |
|----------|--------------|----|
| 1 | 50 | 1|
| 2 | 100 | 2|
| 2 | 40 | 1|
| 3 | 10 | 3|
nxx = 0の場合、同じnxxのarea_sqの合計とarea_sqの合計が必要です
私の現在のクエリはこのようなものです。しかし、nxx=0 の場合、area_sq の合計を別の行にするのではなく、nxx=0 の場合に sum(area_sq) を他の行に追加します。したがって、nxx でグループ化することもできますが、nxx=0 の場合、area_sq を他の nxx 値に追加する必要があります。間違った英語で本当に申し訳ありません。さまざまなことを試しましたが、どれも成功しませんでした。前もって感謝します。
select place_id,sum(area_sq) from t group by place_id,nxx