2011-11-03 64 views
1

我正在爲組織申請工作。 這裏我在數據庫表中有一些事件。現在,他們的觀點的客戶要求如下。如何使用多個數據訂單編寫MySql查詢?

  1. 第一個事件應該是今天的活動(如果有的話)
  2. 那麼即將舉行的活動應該從今天的日期。如果今天 01-11-2011然後下一個事件應該是02-11-2011(如果有的話) 和下一個應該是03-11-2011等等......
  3. 一旦所有即將舉行的活動已列出,您可以顯示舊的 事件。

我只是想知道如果我只能在一個查詢中完成這個任務。你能建議我一些查詢嗎?

這是表結構。 enter image description here

當前我有這個查詢。

SELECT * FROM tbl_event ORDER BY event_date DESC; 

此應用程序位於Codeignitor框架中,MySql是數據庫類型。

+1

這是如何做到的現代開發工作 - 第一落榜,然後去問問計算器上如何做到這一點。 –

回答

1

也許這樣的事情?

SELECT * FROM tbl_event ORDER BY event_date DESC WHERE DATE(event_date) = DATE(NOW()) UNION SELECT * FROM tbl_event ORDER BY event_date DESC WHERE event_date >= NOW() UNION SELECT * FROM tlb_event ORDER_BY event_date DESC WHERE event_date < NOW() 
+0

我喜歡這個查詢,但我有這個字段的數據類型日期時間。你能否建議我使用這種數據類型的其他解決方法?在此先感謝:) –

+0

只是包含所有event_date和now()的日期函數,如下所示:'DATE(even_date)'和'DATE(NOW())' – yasar

+0

謝謝你,你剛剛獲得了午餐。讓我知道你什麼時候想要它。:) –

2
SELECT ... 
... 
ORDER BY (event_date = curdate()) DESC, // today's events 
    (event_date > curdate()) DESC, // future events 
    event_date DESC; // past events 
相關問題