Sql Query从另一行

时间:2017-02-02 07:09:21

标签: mysql telecommunication

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

感谢。

2 个答案:

答案 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'