1

このテーブルにアクセスしていて、CountとGroup Byを実行しようとしていますが、エラーが発生します。

ここに画像の説明を入力してください

私がやろうとしているのは、ACを搭載し、2008年より前に製造された車の数をソース別にグループ化することです。

私はこれを試しました:

SELECT SOURCE_ID, COUNT (SOURCE_ID) AS VEHICLES_WITH_AC
FROM VEHICLE
WHERE VEH_AC = 'Y'
GROUP BY  SOURCE_ID, VEH_AC,  VEH_YEAR
HAVING VEH_YEAR <'2008';

しかし、私は取得しています:ここに画像の説明を入力してください

4

2 に答える 2

3
SELECT SOURCE_ID, COUNT (*) AS VEHICLES_WITH_AC
FROM VEHICLE
WHERE VEH_AC = 'Y' AND VEH_YEAR < '2008'
GROUP BY  SOURCE_ID;

1)どうやら、source_idだけで合計が必要なので、他のものでグループ化することはありません。

2)VEH_YEARの条件は、where句に含める必要があります。そうしないと、すべてのveh_year行が選択され、集計後に破棄されます。

于 2012-11-21T08:17:09.100 に答える
1

;afterWHERE句を削除してみてください。参照

于 2012-11-21T07:35:49.533 に答える