2011-02-07 75 views
0

我有一個表包含所有事件及其舊版本的事件「事件」舉辦各種活動和他們的舊版本表中獲取事件的歷史。我有這些列:從在同一時間

  • 「id」 主,
  • 「origin_id」 在這裏我把原始事件的ID,
  • 「DATE_ADDED」 DATETIME列。

當我第一次添加一個事件時,它的「origin_id」得到它的「id」值。當我改變這個事件中,我創建具有相同的「origin_id」作爲第一個,新的自動遞增的「ID」和新課程的「DATE_ADDED」新事件。再次DATETIME列 -

如何獲得與表中所有當前事件的列表,沒有他們的出發日期排序「開始」舊版本?

所以,如果我有3個事件和他們每個人都有多次修改/更新,我想只爲他們每個人的最後一次更新。

+0

我不知道我應該接受我的答案,等待其他人來回答,然後接受或刪除的問題? – 2011-02-07 12:51:08

+0

這個問題似乎完全有效,我不認爲它應該被刪除。但無論如何,現在不需要擔心,因爲我正在爲你解決你的優柔寡斷問題。 :) – 2011-02-07 16:00:48

回答

0

AMM我想我對我自己:)

SELECT * 
FROM events WHERE id 
IN (
SELECT MAX(id) 
FROM events 
GROUP BY origin_id 
) 
ORDER BY start ASC 
0

這個是什麼?

SELECT MAX(id), origin_id, MAX(date_added), start 
FROM events 
GROUP BY origin_id, start 
ORDER BY start ASC 

這肯定是不一樣的自己的解決方案,所以我覺得你可以自由地接受你的,如果我的不適合你,如果沒有更好的變成了工作。