我想创建一个查询,返回一个事物的名称和国家在另一个表中的最大次数。SQL ORA-00979错误抛出
这里的结构:
ShipModels(mname, type, country, numGuns, gunSize)
Ships(sname, hasModel, launchYear)
Battles(bname, year)
Outcomes(ship, battle, result)
我已经尝试了很多不同的东西,但不能让它开始工作。这是我当前的查询:
SELECT ship, country
FROM ShipModels, Ships, Outcomes
WHERE hasModel = mname AND ship = sname
GROUP BY ship
HAVING COUNT(ship) >=
(SELECT COUNT (ship) FROM Outcomes GROUP BY ship);
Oracle错误:
ERROR at line 1:
ORA-00979: not a GROUP BY expression
从我已阅读,当出现在SELECT语句的聚合函数将引发此错误,但是... ... ,没有。有什么我失踪?我怎样才能使这个工作?
如果你打算使用具有COUNT(船),我相信你需要包括COUNT(船)在你的SELECT – WebChemist