【发布时间】:2015-06-18 18:35:10
【问题描述】:
我目前正在完成sqlzoo的More JOIN operations教程,遇到以下代码作为#12的答案:
SELECT yr,COUNT(title)
FROM movie
JOIN casting
JOIN actor
ON actorid=actor.id AND movie.id=movieid
WHERE name='John Travolta'
GROUP BY yr
HAVING COUNT(title)=
(SELECT MAX(c) FROM
(SELECT yr, COUNT(title) AS c
FROM movie
JOIN casting ON movie.id=movieid
JOIN actor ON actorid=actor.id
WHERE name='John Travolta'
GROUP BY yr) AS t
)
没有更简洁的方式来表达这段代码吗?
【问题讨论】:
-
“对于他制作超过 2 部电影的任何年份。” 所以
HAVING COUNT(title)>2