[英]How to select all categories and count number of each category articles in MySQL
類別表:
id, name
---------
1 cat1
2 cat2
3 cat3
4 cat4
文章表:
id, cid, title
--------------
1 1 title1
2 3 title2
3 1 title3
4 2 title4
如何在MySQL中選擇所有類別並計算每個類別文章的數量? 我需要一個mysql查詢,該查詢將選擇所有類別和屬於每個類別的商品總數,並按類別ID進行排序。
預期輸出表:
+-------+-------+
| name | count |
+-------+-------+
| cat1 | 2 |
| cat2 | 1 |
| cat3 | 1 |
| cat4 | 0 |
+-------+-------+
SELECT
c.`name`,
COUNT(a.cid) AS `count`
FROM
categories c
LEFT JOIN article a ON c.id = a.cid
GROUP BY
c.`name`
ORDER BY
c.`name`
嘗試這個:
SELECT c.`name`, count(a.cid) as count FROM category
LEFT JOIN article
ON c.id = a.cid
GROUP BY a.cid
select c.name,count(b.title)count from category a, article b where c.id = a.cid group by c.name order by a.cid;
我希望這會起作用。 請檢查。
select
Category.name.
ifnull(count(Article.cid),0) as count
FROM
Category
LEFT JOIN
Article
on
Article.cid=Category.id
group by
Category.Id
您也可以使用子查詢,例如
SELECT c.name,(select count(*) from article where cid = c.id) as count FROM cat c WHERE 1 GROUP BY c.id
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.