gpt4 book ai didi

mysql - LEFT JOIN 最大值

转载 作者:IT老高 更新时间:2023-10-29 00:00:07 25 4
gpt4 key购买 nike

假设我有以下两个表:

STUDENT
studentid lastname firstname
1 Smith John
2 Drew Nancy

STUDENT_STORY
studentid dateline storyid status
1 1328313600 10 2
1 1328313601 9 1
2 1328313602 14 2
2 1328313603 12 1

现在,我需要一个 SQL 查询来选择每个学生以及学生故事表中该学生的最新故事。

我正在尝试这个:

SELECT s.*, ss.*
FROM student AS s
LEFT JOIN (
SELECT *
FROM student_story
WHERE student_story.studentid = s.studentid
ORDER BY dateline DESC LIMIT 1
) AS ss ON (ss.studentid = s.studentid)

但是,此查询不起作用。它提示 s.studentid 是子查询的 where 子句中的未知字段。

请建议我如何才能实现我想要做的事情。

谢谢。

最佳答案

试试这样的:

SELECT
s.*,
ss.*
FROM
student AS s
LEFT JOIN
student_story AS ss
ON (ss.studentid = s.studentid)
WHERE ss.dateline = (
SELECT
MAX(dateline)
FROM
student_story AS ss2
WHERE
ss2.studentid = s.studentid
)

关于mysql - LEFT JOIN 最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9144677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com