2014-02-21 41 views
0

我一直在用桌子上的東西撞着桌子,而這東西很可能很簡單。比較當前日期前後的數據集

該數據庫包含來自不同網點的產品集合,每個網點的有效日期均爲標準MySQL yyyy-mm-dd日期。我試圖找到一種方法來顯示哪些網點目前沒有任何優惠,而不是那些。目前,我的網頁看起來像:

奧特萊斯以專:

Outlet 1 
Outlet 3 
Outlet 7 

奧特萊斯沒有特價:

Outlet 2 
Outlet 4 
Outlet 5 

目前我只是要麼

  • 當前的列表特價或
  • 已過期特價

但我想顯示哪些網點目前沒有任何特價。

喜歡的東西:

SELECT outlet 
FROM `specials` 
WHERE `end_date` < '$today' 
GROUP BY `outlet` 
ORDER BY outlet ASC 
WHERE outlet also doesn't have any specials after today's date 

任何想法?

+0

end_date

回答

0

我想你想看看最大end_datehaving條款,而不是在where條款過濾:

SELECT outlet 
FROM specials 
GROUP BY outlet 
HAVING max(end_date) < '$today' 
ORDER BY outlet ASC; 

注意:如果你是使用日期比較當前日期,使用now()代替在應用程序中設置的變量。如果$today確實可以是任何日期,則使用該變量將其傳入(儘管參數比傳入變量的字符串替換要好)。

+0

精美地製作!謝謝Gordon,非常感謝! – Sunfire

相關問題