比较当前日期之前和之后的数据集

时间:2014-02-21 13:14:03

标签: php mysql date comparison

我一直在用桌子敲打桌子上的东西很可能很简单。

数据库有一系列来自不同网点的产品,每个产品的有效期都是标准的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

任何想法??

1 个答案:

答案 0 :(得分:0)

我认为您希望查看end_date子句中的最大having,而不是在where子句中进行过滤:

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

注意:如果您使用日期比较当前日期,请使用now()而不是应用程序中设置的变量。如果$today可能真的是任何日期,那么使用该变量将其传入(尽管参数优于字符串替换以传入变量)。

相关问题