好的,我有三个表:电影(Movienum,Title,Stars ) Actsin (Movienum,StarID)明星(StarID,Givenname,Familyname)
现在我必须找到最新的电影埃迪墨菲主演,以下是我的尝试:
SELECT M.Title, M.Yearreleased
FROM Movies M
WHERE M.Yearreleased = (
SELECT MAX(M.Yearreleased)
FROM Stars S, ActsIn A, Movies M
WHERE S.Givenname = 'Eddie' AND S.Familyname = 'Murphy'
AND S.StarID = A.StarID
AND A.MovieNum = M.MovieNum);这还所有的电影从同一年的最后一部埃迪墨菲电影。
任何帮助都是令人惊奇的。
发布于 2011-09-15 13:32:41
你可以的
ORDER BY Yearrealesed DESC如果你只想要一个,那么LIMIT 1
链接到订单
编辑:,我看到你不能使用极限,你可能想看看这个旧帖子。(可能会有帮助)
而且,现在看来您没有使用MYSQL。这是另一个链接,它应该给出您所使用的任何类型的SQL的答案。
只返回X行数量
发布于 2011-09-15 13:31:42
这个怎么样:
SELECT M.Title, M.Yearreleased
FROM Stars S, ActsIn A, Movies M
WHERE S.Givenname = 'Eddie' AND S.Familyname = 'Murphy'
AND S.StarID = A.StarID
AND A.MovieNum = M.MovieNum
ORDER BY Yearreleased Desc
LIMIT 1另外,在一个与此无关的说明中,我将考虑开始使用显式联接,而不是隐式联接。会让它看起来像这样:
SELECT M.Title, M.Yearreleased
FROM Stars S
INNER JOIN ActsIn A on S.StarID = A.StarID
INNER JOIN Movies M on A.MovieNum = M.MovieNum
WHERE S.Givenname = 'Eddie' AND S.Familyname = 'Murphy'
ORDER BY Yearreleased Desc
LIMIT 1相信我,当需要外部连接时,显式JOIN将使您自由。查询更容易理解和可读性更好:联接是联接,过滤器是过滤器。
https://stackoverflow.com/questions/7431651
复制相似问题