Re: [SQL ] 疑問:查詢分類和子分類數目
※ 引述《chrisQQ (ChrisLiu)》之銘言:
: 使用版本:MySQL 5.0
: 問題:
: TABLE
: id type sub title
: 1 1 a 大分類A
: 2 1 b 大分類B
: 3 1 c 大分類C
: 4 2 a A的子分類1
: 5 2 a A的子分類2
: 6 2 a A的子分類3
: 7 2 b B的子分類1
: 8 2 b B的子分類2
: 9 2 c C的子分類1
資料庫架構有問題。
應該改成這樣:
id type sub title
1 1 0 大分類A
2 1 0 大分類B
3 1 0 大分類C
4 2 1 A的子分類1
5 2 1 A的子分類2
6 2 1 A的子分類3
7 2 2 B的子分類1
8 2 2 B的子分類2
9 2 3 C的子分類1
這裡的 sub 代表所屬分類父階層的 id 。
接著, SQL 就可以這樣下:
SELECT `parent`.`title` , COUNT( `sub`.`id` ) AS `count`
FROM `[TABLE名稱]` `parent` , `[TABLE名稱]` `sub`
WHERE `parent`.`sub` = `sub`.`id`
GROUP BY `parent`.`sub`
如果要 TABLE 裡面的階層數不只兩層,
在 WHERE 裡面作 `parent`.`type` 的條件限制就好。
--
我不寂寞, 因為煙在我口,
我不寂寞, 因為酒在我手,
我不寂寞, 因為還有寂寞陪著我.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.173.168.187
※ 編輯: JoeHorn 來自: 218.173.168.187 (05/22 11:13)
推
05/22 12:32, , 1F
05/22 12:32, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 5 篇):