【发布时间】:2011-06-23 20:01:54
【问题描述】:
我正在尝试将我的计数结果限制为满足特定条件的结果。我目前正在使用 WHERE 子句,我的输出符合预期。
这是我当前的查询,如您所见,只有当我的 WHERE recdate 满足 14 天标记时,才会获取 *ads_list* 和 *ads_cate* 记录:
$queryCats = "
SELECT ads_cate.cateName, COUNT(ads_list.Title)
FROM
ads_cate
JOIN ads_list ON ads_cate.id = ads_list.category
WHERE to_days(now())<=(to_days(recdate)+14)
GROUP BY ads_cate.cateName";
我希望检索所有类别和广告,但仅在满足我的 WHERE 子句条件时才计算在内。我一直在使用 HAVING,运气为 0,如下所示。也许有更好的方法?
$queryCats = "
SELECT ads_cate.cateName, ads_list.recdate, COUNT(ads_list.Title)
FROM
ads_cate
JOIN ads_list ON ads_cate.id = ads_list.category
GROUP BY ads_cate.cateName
HAVING to_days(now())<=(to_days(recdate)+14)";
【问题讨论】:
-
你的第一个查询已经这样做了
-
recdate属于哪个表? -
问题是我的类别不在我的数组中以显示在我的结果集中。他们正在被过滤。我需要我的数组中可用的所有类别名称,无论它们是否符合该标准。