sql 对某表查询统计,结果为零时怎么不显示

语句是这样selectcount(*)m,scompanyidfromdbo.tIMMsgLoggroupbyscompanyidorderbym显示的计数结果都是1以上... 语句是这样select count(*)m,scompanyid from dbo.tIMMsgLog
group by scompanyid order by m

显示的计数结果都是1以上的,为什么不显示为0的,我想要为0的也显示怎么做
展开
 我来答
showmest
2013-11-06 · TA获得超过123个赞
知道小有建树答主
回答量:204
采纳率:0%
帮助的人:164万
展开全部
你应该还有个 存放所有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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
badkano
2013-11-06 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144775 获赞数:885375
团长

向TA提问 私信TA
展开全部
用一句话简单说
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
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wxpub
2013-11-06 · 超过21用户采纳过TA的回答
知道答主
回答量:99
采纳率:0%
帮助的人:61万
展开全部
举例 dbo.tIMMsgLog 表中的 scompanyid 本来只有1,2,3 怎么会出现4呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式