Mysql 单列
你好, 我有两张桌子: 剧集:Mysql 单列,mysql,sql,greatest-n-per-group,Mysql,Sql,Greatest N Per Group,你好, 我有两张桌子: 剧集: 身份证 插曲 时令 系列 头衔 系列: 身份证 名字 我想接收最后添加的剧集(不重复剧集) 例如: 我在《行尸走肉》中增加了两集,在《豪斯医学博士》中增加了一集 因此,结果应该是: 第二集-行尸走肉 第一集-豪斯医学博士 我现在的问题是: SELECT *, e.id AS episodeId, s.id AS seriesId FROM episodes AS e LEFT JOIN series AS s ON e.series = s.id O
- 身份证
- 插曲
- 时令
- 系列
- 头衔
- 身份证
- 名字
SELECT *, e.id AS episodeId, s.id AS seriesId
FROM episodes AS e
LEFT JOIN series AS s ON e.series = s.id
ORDER BY e.id DESC LIMIT 25
尝试使用MAX(e.id)
如果需要更多列,请使用联接
SELECT *
FROM episodes AS ep
JOIN
(SELECT MAX(e.id) AS episodeId, s.id AS seriesId
FROM episodes AS e
LEFT JOIN series AS s ON e.series = s.id
GROUP BY s.id) temp
ON temp.episodeId =ep.id
如果你喜欢,考虑下面这个简单的两步过程:1。如果您还没有这样做,请提供适当的DDL(和/或SQLFIDLE),以便我们可以更轻松地复制问题。2.如果您尚未这样做,请提供与步骤1中提供的信息相对应的所需结果集。如果我使用group by series id,我将获得第一集,没有最后一集……您如何决定最后添加的一集?最重要的一集。id?检查这个问题,也许它有一个解决方案给你
SELECT *
FROM episodes AS ep
JOIN
(SELECT MAX(e.id) AS episodeId, s.id AS seriesId
FROM episodes AS e
LEFT JOIN series AS s ON e.series = s.id
GROUP BY s.id) temp
ON temp.episodeId =ep.id