我一直在用桌子敲打桌子上的东西很可能很简单。
数据库有一系列来自不同网点的产品,每个产品的有效期都是标准的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 :(得分:0)
我认为您希望查看end_date
子句中的最大having
,而不是在where
子句中进行过滤:
SELECT outlet
FROM specials
GROUP BY outlet
HAVING max(end_date) < '$today'
ORDER BY outlet ASC;
注意:如果您使用日期比较当前日期,请使用now()
而不是应用程序中设置的变量。如果$today
可能真的是任何日期,那么使用该变量将其传入(尽管参数优于字符串替换以传入变量)。