2014-10-28 33 views
0

你好,DISTINCT一列

我有兩個表:

情節:

  • ID
  • 插曲
  • 賽季
  • 系列
  • 標題

系列:

  • ID

我想收到最後添加的事件(不重複系列)

例如: 我添加了兩個情節頌歌行屍走肉,一個插曲豪斯醫生

所以,結果應該是:

第2集 - 行屍走肉

第1集 - 豪斯醫生

我在此查詢時刻是:

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 
+0

使用組。 – 2014-10-28 14:36:03

+0

如果您喜歡,請考慮遵循以下簡單的兩步操作步驟:1.如果您尚未這樣做,請提供適當的DDL(和/或sqlfiddle),以便我們可以更輕鬆地複製問題。 2.如果您尚未這樣做,請提供與步驟1中提供的信息相對應的所需結果集。 – Strawberry 2014-10-28 14:36:11

+0

如果我按系列編號使用組,我會得到第一集,沒有最後一集... – Kamilos 2014-10-28 14:38:30

回答

1

嘗試使用MAX(e.id)

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 

如果你需要更多的列,然後使用由seriesId加入

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