看板 Database 關於我們 聯絡資訊
※ 引述《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)
chrisQQ:對… 資料庫的部份是我筆誤 囧 您說的才是對的 05/22 12:32