sql 对某表查询统计,结果为零时怎么不显示
语句是这样selectcount(*)m,scompanyidfromdbo.tIMMsgLoggroupbyscompanyidorderbym显示的计数结果都是1以上...
语句是这样select count(*)m,scompanyid from dbo.tIMMsgLog
group by scompanyid order by m
显示的计数结果都是1以上的,为什么不显示为0的,我想要为0的也显示怎么做 展开
group by scompanyid order by m
显示的计数结果都是1以上的,为什么不显示为0的,我想要为0的也显示怎么做 展开
3个回答
展开全部
你应该还有个 存放所有scompanyid数据的表 吧
我假设表为scompany, 另外tIMMsgLog表的主键为id
sql这样写
select scompanyid, count(tIMMsgLog.id) m from scompany
left join tIMMsgLog on scompany.scompanyid = tIMMsgLog.scompanyid
group by scompany.scompanyid
order by m
我假设表为scompany, 另外tIMMsgLog表的主键为id
sql这样写
select scompanyid, count(tIMMsgLog.id) m from scompany
left join tIMMsgLog on scompany.scompanyid = tIMMsgLog.scompanyid
group by scompany.scompanyid
order by m
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用一句话简单说
scompanyid在tIMMsgLog表里存在的话,至少都是为1,你要显示什么为0?
scompanyid在tIMMsgLog表里存在的话,至少都是为1,你要显示什么为0?
更多追问追答
追问
比如 selcect count(*) from dbo.tIMMsgLog where scompanyid='123123'
查询scompanyid为123123时因为没有记录结果为0,我想要123123也显示出来,可是没有记录的scompanyid为什么用以上语句显示不出来。
追答
这个其实没有什么太好的解决办法,给你一个
select s.scompanyid,sum(s.c) c
from
(select '123123' scompanyid,0 c
union all
select scompanyid,count(*) c from dbo.tIMMsgLog where scompanyid='123123' group by scompanyid) s
group by s.scompanyid
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
举例 dbo.tIMMsgLog 表中的 scompanyid 本来只有1,2,3 怎么会出现4呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询