2013-06-20 60 views
1

我有一個事件表,每個事件都有一個開始日期和結束日期。現在我想要獲取(在PHP中只使用1個SQL)具有最新結束日期的事件和具有最早開始日期的事件。有誰知道如何做到這一點?謝謝!SQL - 獲取最高和最低的記錄

回答

4

如果你想在兩行,而不僅僅是日期,可能要使用UNION

SELECT * from table 
    ORDER BY end_date DESC 
    LIMIT 1 
UNION ALL 
SELECT * from table 
    ORDER BY start_date ASC 
    LIMIT 1 
+0

呃現在可能需要parens與LIMITs,現在我想到了它。讓我去試一試小提琴 –

+0

不應該需要圓括號(一個UNION在「SELECT」之外)。儘管我建議使用'UNION ALL',除非重複摺疊*是所需的方面。 – user2246674

+0

第一個應該是'end_date',而不是'start_date'。 – Barmar

0

很容易的

SELECT MIN(StartDate), Max(EndDate) 
From yourTable 
+0

我不知道這是什麼OP希望 – hek2mgl

+1

這只是返回日期,而不是關聯的記錄。 – Barmar

+1

我不確定OP想要什麼。他沒有說他是否想要這個記錄。技術上他問道:「有人知道這是怎麼做的?」所以他的問題的正確答案是「是」 – JohnFx