作者chrisQQ (ChrisLiu)
看板Database
标题[SQL ] 疑问:查询分类和子分类数目
时间Thu May 22 10:37:09 2008
使用版本: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