MenuID PreMenuID Type
P2000 BS02 p
P8001 P2000 x
嗨专家我有上面给出的表格结构,表示菜单ID为主要ID,PremenuId表示上一个调用来自的菜单。
现在type=x
表示调用中存在异常
menuid=p8001
中的是从P2000
转移,如 premenuid
我想得到表中生成的异常计数,但是在mainId
输出应该像那样
MenuID Exception OnId
p2000 1 p8001
感谢。
答案 0 :(得分:1)
如果我的要求正确,一个简单的group by
- 声明将完成这项工作:
select PreMenuID as `MenuID`, count(Type) as `Exception`, MenuID as `OnID`
where Type = x
group by `MenuID`, `OnID`
答案 1 :(得分:0)
您需要自己加入表格。
select a.MenuID, count(b.MenuID) as Exception, group_concat(b.MenuID) as OnID
from tableName as a
join tableName as b on a.MenuID=b.MenuID
where a.type='x'