我有一个networks
表和一个groups
表,它们由连接到网络的每个组链接。
每个群组都有一个type
,其中一些群组是special type
个群组。
我试图运行查询,该查询将显示每个特殊类型的组,以显示一个列,显示该组类型中有多少人。
那是可能的吗?将每个组类型显示为列标题。
数据:
Networks
id | name
1 | networka
2 | networkb
groups
id | name | type | network
1 | groupa | 1 | 1
2 | groupb | 2 | 2
3 | groupc | 3 | 1
type
id | name | special
1 | speciala | 0
2 | specialb | 1
我目前正在运行:
SELECT Name FROM (
SELECT groups.Name FROM groups INNER JOIN group_types on groups.Type = group_types.Id WHERE group_types.SpecialType = 1 Group by groups.Type
) as s
返回具有特殊类型的组列表。但是,如果我想获得更多信息,例如该组中的成员数量,假设我有一个链接回group_members
表的groups
表或具有该类型的组的数量。
我目前得到两排:
name
specialb
但我其实想回来
specialb
(sub query to get more values for that special group)
答案 0 :(得分:0)
如果我理解你想要什么,请写下:
select g.name, t.name, count(*)
from groups as g left join group_members as gm on gm.group=g.id left join types as t on t.id=g.type
group by g.name, t.name
然后使用paste special>复制并粘贴到Excel中转置。