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

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 --正确

能帮忙解释下原因吗?万分感谢
...全文
115 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
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 这种语法那里也不通啊

34,837

社区成员

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

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