私のカウント結果を特定の条件を満たすものに限定しようとしています。私は現在WHERE句を使用しており、出力は期待通りです。ここで日付の比較に基づくCOUNT()およびHAVING付きのMySQLクエリ
私の現在のクエリで、あなたが見ることができるように私recdateは14日のマークを満たしているWHERE場合* 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)";
をあなたの最初のクエリでは、すでに – dynamic
がどのテーブル 'recdate'はに属しないことですか? –
問題は私のカテゴリが私の結果セットに表示される配列にないことです。それらはフィルタリングされています。私はそれらの基準を満たしているかどうかにかかわらず、私の配列で利用可能なすべてのカテゴリ名が必要です。 – OldWest