我正在查询一个包含分类广告的表。我需要找到所有的广告是最新的(从现在到他们的有效期),但我所要的是他们所属的类别和每个类别有多少。这是我所拥有的,但却无法让它发挥作用。

SELECT AdType.AdTypeID,
       AdType.AdDescription,
       Class_Ads.AdTypeID,
       Class_Ads.DateSubmitted
FROM Class_Ads
INNER JOIN AdType ON Class_Ads.AdTypeID = AdType.AdTypeID
WHERE Class_Ads.DateSubmitted BETWEEN NOW()
      AND (date_add(Class_Ads.DateSubmitted,INTERVAL 2 MONTH))
GROUP BY AdType.AdDescription

我希望结果是:
category1 (5 ads)
category2 (2 ads)
etc.

最佳答案

    SELECT AdType.AdDescription, COUNT(*)
      FROM Class_ads
INNER JOIN AdType ON Class_Ads.AdTypeID = AdType.AdTypeID
     WHERE Class_Ads.DateSubmitted BETWEEN NOW()
       AND (date_add(Class_Ads.DateSubmitted,INTERVAL 2 MONTH))
  GROUP BY AdType.AdDescription

这应该能起到作用

08-18 13:04