如果我删除USING (nid,sid)
,我得到的列是ambigious错误。我不太明白USING
在这里做什么?它是否加入了nid和sid从子查询返回到nid,sid在外部select查询中?不明白在MySQL中使用语法
SELECT sid, nid, max_rating FROM outcomes
JOIN (SELECT nid, sid, MAX(rating) AS max_rating from outcomes group by nid, sid) AS newtable
USING (nid, sid)
WHERE rating = max_rating AND name LIKE '%test%'
请注意,这仅在PostgreSQL和MySQL中受支持。 – Subodh 2012-02-29 12:32:29