1
我需要計算幾個類別在列中出現的次數。他們被認爲是體育,醫學等字符串,欄目名稱是ct.category_name。mysql計數出現的字符串
這是我正在適應的查詢。我想爲每個類別類型添加一列。
select co.order_id, co.catalog_item_id, ct.category_name
from customer_order as co
join item_category as ic on (ic.item_id = co.customer_id)
join category_translations as ct on (ct.category_id = ic.category_id)
where co.paid = 1 and co.customer_id = 22500 and ct.locale = "en"
當我把這個在它計算的一切select語句,我明白爲什麼,但我不知道該往哪個方向走。
count(CASE
WHEN ct.category_name = "sports" THEN ct.category_name
ELSE 0
end) AS 'sports'
再次,我希望每個字符串的計數是它自己的列。任何幫助將非常感激。
當我嘗試:
select co.order_id, co.catalog_item_id, ct.category_name
, SUM(ct.category_name = "sports") AS `sports`
, SUM(ct.category_name = "medici") AS `medicine`
from customer_order as co
join item_category as ic on (ic.item_id = co.customer_id)
join category_translations as ct on (ct.category_id = ic.category_id)
where co.paid = 1 and co.customer_id = 22500 and ct.locale = "en"
它計算運動兩次。錯誤的地方爲什麼?結果:
`23115 271708 sports 483 483`
Coo,但是當我適應第二個字符串時,它只計算第一個字符串,然後重複它。如果這不是在選擇? – jahrichie 2013-02-14 02:00:00
@jahrichie:我不確定我瞭解你。顯示你的確切代碼,猜測不是解決編程問題的最佳方法 – zerkms 2013-02-14 02:26:17
我用我的嘗試和結果更新了第一篇文章。在此先感謝 – jahrichie 2013-02-14 02:39:00