SQL中COUNT(distinct no)的问题
SQL中COUNT(distinct*)的问题,想请各位大神帮忙看看。我的表:TB,字段:ID,ZD。(说明:ID不是主键)IDZD1111122122我写的语句sele...
SQL中COUNT(distinct *)的问题,想请各位大神帮忙看看。
我的表:TB, 字段:ID,ZD。(说明:ID不是主键)
ID ZD
1 1
1 1
1 2
2 1
2 2
我写的语句
select count(distinct ZD) from TB --但是查询结果返回的值是2,我想要得到的结果是4,请问个人大神帮指点下。 展开
我的表:TB, 字段:ID,ZD。(说明:ID不是主键)
ID ZD
1 1
1 1
1 2
2 1
2 2
我写的语句
select count(distinct ZD) from TB --但是查询结果返回的值是2,我想要得到的结果是4,请问个人大神帮指点下。 展开
4个回答
展开全部
楼主,你好!我在数据库中已经帮你测试过了,结果能通过,你看看
create table #TB(
ID int,
ZD int
)
--向临时表插入演示数据
insert into #TB values(1,1)
insert into #TB values(1,1)
insert into #TB values(1,2)
insert into #TB values(2,1)
insert into #TB values(2,2)
--按要求取数,
--首先,把int类型的值转化成字符串类型,然后值连接起来;
--然后,把重复的值给distinct掉;
--最后,再把结果count出来
select count(distinct (cast(ID as CHAR(1)) + cast(ZD as CHAR(1))))
from #TB
--删除临时表
drop table #TB
展开全部
distinct 去除重复的,zd 1 2重复,去掉正好是2条,肯定返回2 ,你奥返回4说一下要求,很多能返回4,你不说不能给你判定。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select sum(zd) as abc from tb where zd=2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
变通一下就可以了
select count(distinct convert(nvarchar(20),ID)+','+convert(nvarchar(20),ZD)) from TB
select count(distinct convert(nvarchar(20),ID)+','+convert(nvarchar(20),ZD)) from TB
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询