[SQL ] 疑問:查詢分類和子分類數目
使用版本: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
…
想要的輸出:
title count(?)
大分類A 3
大分類B 2
大分類C 1
***** 題外話分隔線 *****
呣,我記得這個問題去年暑假前也有遇到…
最後是硬幹… 暴力解
先是 select * from TABLE WHERE type = 1;
然後在 輸出的時候再去 select count(*) from TABLE WHERE type = 2 and sub = 'a';
後來暑假過後,改用兩個表格來儲存
TABLE1 TABLE2
id sub title id parent title
1 1 大分類A 1 1 A的子分類1
2 2 大分類B 2 1 A的子分類2
3 3 大分類C 3 1 A的子分類3
4 2 B的子分類1
5 2 B的子分類2
6 3 C的子分類1
這樣可以用
SELECT tb1.title, count(tb2.`parent`)
FROM TABLE1 tb1, TABLE2 tb2
WHERE tb1.id=tb2.parent GROUP BY tb2.`parent`;
得到。
不知道,如果只用一個 TABLE 來儲存這樣的資訊是否有比較簡單的 SQL 指令
(或是說… 不要像我一樣用暴力法硬幹的指令…)
以上~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.62.42.9
討論串 (同標題文章)
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 1 之 5 篇):