mysql - Mysql 列数成倍增加
问题描述
我有两个正确的mysql查询,如下所示:
select
count(aboneler.abone_isim),
nas.nasname
from nas
left join aboneler on ( aboneler.nas = nas.id )
group by nas.nasname
首次查询结果 和
select
count(radacct.radacctid)
from nas
left join radacct on ( radacct.nasipaddress = nas.nasname )
where radacct.acctstoptime is null
group by nas.nasname
第二个查询结果 ,但如果我把这两个查询放在一起,我会得到:
select
nas.nasname,
count(aboneler.abone_isim),
count(radacct.radacctid)
from nas
left join aboneler on ( aboneler.nas = nas.id )
left join radacct on ( radacct.nasipaddress = nas.nasname )
where radacct.acctstoptime is null
group by nas.nasname
最后一个查询结果不应该是这样的。我希望我能解释我的问题。
解决方案
你可以试试下面的方法——
select A.nasname,cnt1,cnt2 from
(
select nas.nasname,count(aboneler.abone_isim) as cnt1
from nas
left join aboneler on aboneler.nas = nas.id
group by nas.nasname
)A join
(
select nas.nasname,count(radacct.radacctid) as cnt2
from nas left join radacct on ( radacct.nasipaddress = nas.nasname )
where radacct.acctstoptime is null
group by nas.nasname
) B on A.nasname=B.nasname
推荐阅读
- javascript - 什么值用于在浏览器中设置 document.domain?
- kotlin - 如何验证 List 的实例不是另一个 List 实例?
- wai-aria - JAWS 在 Win10 上的 MS Edge 中多次读取角色为“img”的表的 aria-label
- ios - 在类型化数组中存储符合泛型协议的对象
- angular - 在根级别为离子选项卡配置选项卡
- rotation - 处理 3.5.3 围绕中心点旋转点 图像缩小消失
- visual-studio - 如何在 Visual Studio 2017 中远程调试到以前部署的以调试模式构建的应用程序?
- sql - How can I create a selection that can show my total of objects by owners?
- schema.org - 为什么 Google 说一个项目需要 schema.org 中的 url 属性?
- docusignapi - JWT OAuth 身份验证流程中的“错误请求”消息