我有一个自加入表的问题,其中group by不能正常工作或者我的代码有问题。自发加入群组?
我正在尝试生成一张表,其中包含住房销售数据,并希望按地区和住房类型对结果进行分组。
这是我到目前为止,它接近我所需要的。
SELECT A1.AREA AREA,
TRUNC((A1.SOLD_PRICE/A1.ASK_PRICE*100), 2) || '%' "ATT/ROW/TWNHOUSE",
TRUNC((A2.SOLD_PRICE/A2.ASK_PRICE*100), 2) || '%' "DETACHED",
TRUNC((A3.SOLD_PRICE/A3.ASK_PRICE*100), 2) || '%' "SEMI-DETACHED"
FROM SALESRECORDS A1, SALESRECORDS A2, SALESRECORDS A3
WHERE A1.AREA = A2.AREA AND A1.AREA = A3.AREA
GROUP BY A1.AREA, A1.HOUSE_TYPE;
这给了我错误ORA-00979: not a GROUP BY expression
。
当我遵循SQL规则,我by子句中的所有项目添加到组,我得到类似于语句中的顺序结果....
SELECT A1.AREA,
TRUNC((A1.SOLD_PRICE/A1.ASK_PRICE*100), 2) || '%' "ATT/ROW/TWNHOUSE",
TRUNC((A2.SOLD_PRICE/A2.ASK_PRICE*100), 2) || '%' "DETACHED",
TRUNC((A3.SOLD_PRICE/A3.ASK_PRICE*100), 2) || '%' "SEMI-DETACHED"
FROM SALESRECORDS A1, SALESRECORDS A2, SALESRECORDS A3
WHERE A1.AREA = A2.AREA AND A1.AREA = A3.AREA
GROUP BY A1.AREA, A1.SOLD_PRICE, A1.ASK_PRICE, A2.SOLD_PRICE, A2.ASK_PRICE,
A3.SOLD_PRICE, A3.ASK_PRICE;
谁能告诉我是什么我做错了....?
你为什么认为你需要一组?你从第二个陈述中得到什么结果?你希望得到什么结果? – Craig 2013-04-29 17:26:13