Sql 查询以从另一行获取计数
Sql Query to get count from another row
MenuID PreMenuID Type
P2000 BS02 p
P8001 P2000 x
嗨,专家们,我有上面给出的 table 结构,它指示菜单 ID 作为主 ID,PremenuId 指示从中转移呼叫的上一个菜单。
现在type=x
表示调用出现异常
从上面的table menuid=p8001
是从P2000
转过来的,如图premenuid
我想获取在 table 中但在 mainId
中生成的异常计数
输出应该像这样
MenuID Exception OnId
p2000 1 p8001
谢谢。
您需要加入table自身。
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'
如果我的要求正确,一个简单的 group by
-语句就可以完成工作:
select PreMenuID as `MenuID`, count(Type) as `Exception`, MenuID as `OnID`
where Type = x
group by `MenuID`, `OnID`
MenuID PreMenuID Type
P2000 BS02 p
P8001 P2000 x
嗨,专家们,我有上面给出的 table 结构,它指示菜单 ID 作为主 ID,PremenuId 指示从中转移呼叫的上一个菜单。
现在type=x
表示调用出现异常
从上面的table menuid=p8001
是从P2000
转过来的,如图premenuid
我想获取在 table 中但在 mainId
中生成的异常计数输出应该像这样
MenuID Exception OnId
p2000 1 p8001
谢谢。
您需要加入table自身。
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'
如果我的要求正确,一个简单的 group by
-语句就可以完成工作:
select PreMenuID as `MenuID`, count(Type) as `Exception`, MenuID as `OnID`
where Type = x
group by `MenuID`, `OnID`