SQL COUNT 值 返回 0

有一个表:统计表字段:单位名称字段.单位名称的值有:单位A单位A单位A单位B单位B单位C单位D================================执行了查询语... 有一个表:统计表

字段:单位名称

字段.单位名称的值有:

单位A
单位A
单位A
单位B
单位B
单位C
单位D

================================
执行了查询语句后:

SELECT 单位名称, COUNT(单位名称)
FROM 统计表
WHERE (单位名称 = '单位A' OR
单位名称 = '单位B' OR
单位名称 = '单位C' OR
单位名称 = '单位D' OR
单位名称 = '单位E' OR
单位名称 = '单位F')

GROUP BY 单位名称
ORDER BY COUNT(单位名称) DESC

================================
查询结果为:

单位A 3
单位B 2
单位C 1
单位D 1

由于表中暂时没有 单位E 和 单位F 的值,所以无法显示。

现在我想查出来的结果也把单位E 和 单位F显示出来,并且是返回 0 请问SQL语句怎么写?

最终要的查询结果为:

单位A 3
单位B 2
单位C 1
单位D 1
单位E 0
单位F 0
展开
 我来答
hy1397471
2015-12-22 · 知道合伙人软件行家
hy1397471
知道合伙人软件行家
采纳数:4714 获赞数:17154
15年数据库维护及数据库应用系统开发经验,从事零售业、服务业及财务管理类系统开发与维护。

向TA提问 私信TA
展开全部
sql 中 count()作用是返回结果集的记录数。
返回0,即
1、检索结果记录数为0
2、指定列非空记录为0

1、SQL COUNT() 语法
SQL COUNT(column_name) 语法
COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入):
SELECT COUNT(column_name) FROM table_name

2、SQL COUNT(*) 语法
COUNT(*) 函数返回表中的记录数:
SELECT COUNT(*) FROM table_name

3、SQL COUNT(DISTINCT column_name) 语法
COUNT(DISTINCT column_name) 函数返回指定列的不同值的数目:
SELECT COUNT(DISTINCT column_name) FROM table_name

注释:COUNT(DISTINCT) 适用于 ORACLE 和 Microsoft SQL Server,但是无法用于 Microsoft Access。
wzsjzjjxy
2011-09-04 · TA获得超过3258个赞
知道大有可为答主
回答量:4175
采纳率:0%
帮助的人:1805万
展开全部
你的单位E 和单位F 要在其他表里有也可以,否则只能写死了。

SELECT 单位名称, COUNT(单位名称)
FROM 统计表
WHERE (单位名称 = '单位A' OR
单位名称 = '单位B' OR
单位名称 = '单位C' OR
单位名称 = '单位D' OR
单位名称 = '单位E' OR
单位名称 = '单位F')

GROUP BY 单位名称
ORDER BY COUNT(单位名称) DESC
union all
select ‘单位E’,0
union all
select '单位F',0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-09-04
展开全部
如果你的单位名称是外键的话就可以,或者几个单位全部union all

select '单位A', count(1) from 统计表 where 单位名称 = '单位A'
union all
select '单位B', count(1) from 统计表 where 单位名称 = '单位B'
依次。。。。
再进行排序就可以了
追问
如果另外一个表中含有单位名称的信息,那么应该怎么写SQL查询语句?
如: 统计表, 单位信息表

统计表.单位名称:
单位A
单位A
单位A
单位B
单位B
单位C
单位D
============================
单位信息表.单位名称:
单位A
单位B
单位C
单位D
单位E
单位F
.........
=========================
要显示同上查询结果。

求SQL完整的语句,谢谢!!
追答
SELECT b.单位名称, COUNT(b.单位名称)
FROM 单位信息表 b left join 统计表 a
on a.单位名称=b.单位名称
GROUP BY b.单位名称
ORDER BY COUNT(b.单位名称) DESC
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-09-04
展开全部
不会
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jkchenwo
2011-09-04 · TA获得超过4300个赞
知道小有建树答主
回答量:1019
采纳率:0%
帮助的人:557万
展开全部
你要知道你是从数据库查数据,而不是想查什么就能查什么,数据库都没有E和F,你怎么可能查出来这种结果啊
追问
那能设定 单位E 和 单位F 值为 NULL 的时候返回为0吗?
追答
首先是查不出E和F,所以也不会显示E和F这两条数据
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式