Sql 我正在尝试获取用户最后一次在线的日期以及他最后玩的游戏。但是,我得到一个非单个组函数错误
我的问题如下Sql 我正在尝试获取用户最后一次在线的日期以及他最后玩的游戏。但是,我得到一个非单个组函数错误,sql,oracle,Sql,Oracle,我的问题如下 SELECT GEBRUIKERS.GEBRUIKERID, GEBRUIKERS.GEBRUIKERNAAM, LAATSTONLINE,GAME.GAMENAAM, MAX(ITEMS_IN_BEZIT.LAATSTGEBRUIKT) AS "Laatst gespeelde game" FROM GEBRUIKERS LEFT OUTER JOIN ITEMS_IN_BEZIT ON GEBRUIKERS.GEBRUIKERID
SELECT
GEBRUIKERS.GEBRUIKERID, GEBRUIKERS.GEBRUIKERNAAM,
LAATSTONLINE,GAME.GAMENAAM,
MAX(ITEMS_IN_BEZIT.LAATSTGEBRUIKT) AS "Laatst gespeelde game"
FROM
GEBRUIKERS
LEFT OUTER JOIN
ITEMS_IN_BEZIT ON GEBRUIKERS.GEBRUIKERID = ITEMS_IN_BEZIT.GEBRUIKERID
LEFT OUTER JOIN
GAME ON ITEMS_IN_BEZIT.ITEMID = GAME.ITEMID
ORDER BY
GAME.GAMENAAM
这个查询应该给我用户名,用户id,他最后一次在线的时间和他最后玩的游戏
但是我得到了标题中提到的错误
现在我的问题是:有没有更好的方法来表述我的查询,或者有没有方法绕过这个错误当使用聚合函数时,您必须
分组:
SELECT GEBRUIKERS.GEBRUIKERID,
GEBRUIKERS.GEBRUIKERNAAM,
LAATSTONLINE,
GAME.GAMENAAM,
MAX(ITEMS_IN_BEZIT.LAATSTGEBRUIKT) AS "Laatst gespeelde game"
FROM GEBRUIKERS
LEFT OUTER JOIN ITEMS_IN_BEZIT
ON GEBRUIKERS.GEBRUIKERID = ITEMS_IN_BEZIT.GEBRUIKERID
LEFT OUTER JOIN GAME
ON ITEMS_IN_BEZIT.ITEMID = GAME.ITEMID
GROUP BY GEBRUIKERS.GEBRUIKERID, -- here
GEBRUIKERS.GEBRUIKERNAAM,
LAATSTONLINE,
GAME.GAMENAAM
ORDER BY GAME.GAMENAAM