首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL。列MAX

SQL。列MAX
EN

Stack Overflow用户
提问于 2011-09-15 13:28:23
回答 2查看 191关注 0票数 3

好的,我有三个表:电影(Movienum,Title,Stars ) Actsin (Movienum,StarID)明星(StarID,Givenname,Familyname)

  • 主键粗体,外文斜体

现在我必须找到最新的电影埃迪墨菲主演,以下是我的尝试:

代码语言:javascript
复制
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);

这还所有的电影从同一年的最后一部埃迪墨菲电影。

任何帮助都是令人惊奇的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-15 13:32:41

你可以的

代码语言:javascript
复制
ORDER BY Yearrealesed DESC

如果你只想要一个,那么LIMIT 1

链接到订单

编辑:,我看到你不能使用极限,你可能想看看这个旧帖子。(可能会有帮助)

助理署长()

而且,现在看来您没有使用MYSQL。这是另一个链接,它应该给出您所使用的任何类型的SQL的答案。

只返回X行数量

票数 1
EN

Stack Overflow用户

发布于 2011-09-15 13:31:42

这个怎么样:

代码语言:javascript
复制
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

另外,在一个与此无关的说明中,我将考虑开始使用显式联接,而不是隐式联接。会让它看起来像这样:

代码语言:javascript
复制
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将使您自由。查询更容易理解和可读性更好:联接是联接,过滤器是过滤器。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7431651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档