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