关于count的一个问题!

lenovoboy 2008-08-06 10:48:41
语句是这样的:
SELECT JamKind, COUNT(*) AS CT
FROM tblTrafficJam
GROUP BY JamKind

结果集里面并没有显示CT为0的行,请问如何加上这一行。
...全文
133 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
lu_huanling 2008-08-06
  • 打赏
  • 举报
回复
count(*) 加为0的一行,很奇怪。
请楼主把表中的数据贴出来看看。
一品梅 2008-08-06
  • 打赏
  • 举报
回复
*&(^*&^*&)(*()
两表连接???说清楚很累吗?
lenovoboy 2008-08-06
  • 打赏
  • 举报
回复
jamkind有相应的值

tbldescjamkind
encode discription
1 行驶不畅
2 交通拥挤
3 交通拥堵
4 交通堵塞
love小在在 2008-08-06
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 Liyingyue_FFS 的回复:]
有个问题哦,如果count(*)为0,那么不就是没有相应的JamKind值么,那样当然不会有结果,想要结果的外连接一下JamKind字段
[/Quote]
一品梅 2008-08-06
  • 打赏
  • 举报
回复
[Quote=引用楼主 lenovoboy 的帖子:]
结果集里面并没有显示CT为0的行,请问如何加上这一行。
[/Quote]
啥意思,帖上数据好说明问题.
Liyingyue_FFS 2008-08-06
  • 打赏
  • 举报
回复
有个问题哦,如果count(*)为0,那么不就是没有相应的JamKind值么,那样当然不会有结果,想要结果的外连接一下JamKind字段
-狙击手- 2008-08-06
  • 打赏
  • 举报
回复
??
jasonren 2008-08-06
  • 打赏
  • 举报
回复
这个不大对吧.
如果你要加上CT为0的行,
那么他jamkind这个字段的值该怎么放啊?
和你group by jamkind的本意矛盾了

或者你单独加上一行

SELECT JamKind, COUNT(*) AS CT
FROM tblTrafficJam
GROUP BY JamKind
union
select 'Others' as JamKind ,'0' as ct
FROM tblTrafficJam
tim_spac 2008-08-06
  • 打赏
  • 举报
回复
假设有表"tbJamKind (JamKind primary key, Descript)"存放JamKind的所有数据
select a.JamKind, isnull(b.CT,0)
from tbJamKind a
left join (
SELECT JamKind, COUNT(*) AS CT
FROM tblTrafficJam
GROUP BY JamKind
) as b on a.JamKind=b.JamKind
Liyingyue_FFS 2008-08-06
  • 打赏
  • 举报
回复
把count(*)改成isnull(count(*),0)
fuda_1985 2008-08-06
  • 打赏
  • 举报
回复
。。。。怎么可能有ct为0的,除非你那个select语句没有返回值。
lenovoboy 2008-08-06
  • 打赏
  • 举报
回复
SELECT jamkind.Description AS jamkindDesc, COUNT(*) AS CT
FROM tblTrafficJam AS Jam LEFT OUTER JOIN
tblDescJamKind AS jamkind ON Jam.JamKind = jamkind.Encode
GROUP BY jamkind.Description

我是这样写的,结果应该有4行的,但count为0的那行并没有显示出来。
xingyanguang0433 2008-08-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fuda_1985 的回复:]
。。。。怎么可能有ct为0的,除非你那个select语句没有返回值。
[/Quote]
jacklee_888 2008-08-06
  • 打赏
  • 举报
回复
那就直接用left join 就可以搞定了。
lenovoboy 2008-08-06
  • 打赏
  • 举报
回复
数据表结构:id parentid neteork milepost jamkind
lenovoboy 2008-08-06
  • 打赏
  • 举报
回复
这个是数据表
id parentid neteork milepost jamkind
07736e95c8458e542689dc25ba6830d6daa 07736e95c8458e542689dc25ba6830d6daa S201 1234.101 3
078a338da4a5c54444091c3aa31dc367b04 078a338da4a5c54444091c3aa31dc367b04 g010 321.000 1
07L7177ef43c9f642e882bbbf55892d8704 07L7177ef43c9f642e882bbbf55892d8704 S108 123.001 1
07S3931b212826d40489a4be3c72472284c 07S3931b212826d40489a4be3c72472284c G045 4501.000 3
07S67858c67cd3147e695b2ef3a499368c5 07S0d758870b4c14df1b0628fa5f1cf7ffd G045 123.000 1
07S6adf229ce118497d9b2571650a7799bd 07Sa7608b0e9eba46e386c496072fc7c681 G312 123.000 1
lenovoboy 2008-08-06
  • 打赏
  • 举报
回复
LS说的没错,有个参数表和一个数据表,数据表引用参数表中的数据,按照参数表中的各项进行统计。
这是参数表
tbldescjamkind
encode discription
1 行驶不畅
2 交通拥挤
3 交通拥堵
4 交通堵塞
jacklee_888 2008-08-06
  • 打赏
  • 举报
回复
你這種應該有個參考表﹐用left join 才可能出現你說的count 為0的資料

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧