我有一个像以下的Sql表:
-----------------
id person | entity
------------------
1 | A/B
2 | A/B/C
3 | A/B/C
4 | A/B/D
5 | A/B/C
我想计算拥有相同实体+拥有相同母亲实体的人数
示例:
-----------------
entity | count
------------------
A/B | 5
A/B/C | 3
A/B/D | 1
如何使用SQL请求执行此操作?
答案 0 :(得分:4)
简单的答案,有一个相关的子查询,计算类似的实体:
select distinct t1.entity, (select count(*)
from tablename t2
where t2.entity like concat(t1.entity,'%'))
from tablename t1;
答案 1 :(得分:0)
您可以使用UNION
,例如:
SELECT count(*),'A/B' FROM myTable WHERE entity like '%A/B%'
UNION
SELECT count(*),'A/B/C' FROM myTable WHERE entity like '%A/B/C%'
UNION
.... --leave to you to complete as an exercise
你必须完成最后一句