1

我有这个表可以访问,我正在尝试进行计数和分组,但出现错误。

在此处输入图像描述

我要做的是按来源对 2008 年之前制造的具有 AC 的汽车数量进行分组。

我试过这个:

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 回答