【再次向邹建大哥请教!!!!!!!!!!!!!!!】

viva369 2008-04-02 02:03:11

create table #tb
(
pkid int identity(1,1) primary key,
title varchar(5)
)

insert #tb select 'A'
insert #tb select 'B'
insert #tb select 'C'
insert #tb select 'D'
insert #tb select 'E'
go

select count(distinct(*)) from #tb --这句为什么错
select count(distinct(pkid)) from #tb --正确

能帮忙解释下原因吗?万分感谢
...全文
78 点赞 收藏 14
写回复
14 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ojuju10 2008-04-02

select count(distinct(pkid)) from #tb --正确
回复
viva369 2008-04-02
不好意思,我没装连接帮助~~
回复
dawugui 2008-04-02
SQL SERVER联机帮助写得清清楚楚,楼主没看.
回复
dawugui 2008-04-02
COUNT(DISTINCT expression) 对组中的每一行都计算 expression 并返回唯一非空值的数量。

expression

除 text、image 或 ntext 以外任何类型的表达式。不允许使用聚合函数和子查询。

*

指定应该计算所有行以返回表中行的总数。COUNT(*) 不需要任何参数,而且不能与 DISTINCT 一起使用。COUNT(*) 不需要 expression 参数,因为根据定义,该函数不使用有关任何特定列的信息。COUNT(*) 返回指定表中行数而不删除副本。它对各行分别计数。包括包含空值的行。

回复
utpcb 2008-04-02
哈哈老大很忙的 小问题一般不回答的
回复
fuda_1985 2008-04-02
学习
回复
kaikai_kk 2008-04-02
不是邹大哥,无权回答
保持沉默
回复
viva369 2008-04-02
[Quote=引用 5 楼 jinjazz 的回复:]
ms说了算

select count(distinct checksum(*)) from #tb
[/Quote]

这个倒是可以,ms砸说的勒,呵呵
回复
utpcb 2008-04-02
语法问题 ! 况且老大是不削于看着中问题的 小同志
回复
jinjazz 2008-04-02
ms说了算

select count(distinct checksum(*)) from #tb
回复
wangxuelid 2008-04-02
顶一个,,,
回复
liangCK 2008-04-02
高度关注.
回复
ojuju10 2008-04-02
语法问题
回复
nextflying 2008-04-02
select count(distinct(*)) from table 这种语法那里也不通啊
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2008-04-02 02:03
社区公告
暂无公告