簡體   English   中英

選擇類別並計算其中的廣告

[英]Select Categories and count the Ads inside

我要查詢一個選擇類別名稱並計算每個類別中活動廣告的最大數量的查詢,我已經這樣做了:

SELECT
cat.cat_id,
cat.cat_desc,
COUNT(ad_id) AS cat_total_ads
FROM 
tab_categories AS cat LEFT JOIN
tab_ads AS ads ON ads.cat_id = cat.cat_id
WHERE
cat_active = @cat_active AND
cat_deleted = @cat_deleted
GROUP BY
cat_desc, cat.cat_id

該查詢也在計算無效廣告。 如何將無效廣告的值設為0?

實現此目的的一種方法是使用CASE語句的組合來確定是否要計算該項和SUM函數。

例如

SUM(CASE WHEN Active THEN 1 ELSE 0 END)

SUM(CASE .....然后1 else 0 end)作為colName應該為你做!

嘗試此操作,我沒有要重新創建的表以進行測試,但是此操作或類似操作應該起作用。

select 
  cat.cat_id,
  cat.cat_desc,
  count(ad_id) as Total,
  sum(case when ad_id= 0 then 1 else 0 end) as 'ad_id'

from
  tab_categoriesAS cat LEFT JOIN
tab_ads AS ads ON ads.cat_id = cat.cat_id
WHERE
cat_active = @cat_active AND
cat_deleted = @cat_deleted
GROUP BY
cat_desc, cat.cat_id

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM