在Access中,多表查询并去掉重复行,怎么得到记录数呢?用Count(DISTINCT 表名.列名)出错呢?
//这是查询记录集,是对的
select DISTINCT TA.ID,TA.Dog, TA.LastRegTime,TA.DogType,TA.UserName
from TA,TB,RegInfo where TA.VendorID=1 and TA.DogGroupID=7 and ( (TA.ID=TB.DogID and TB.ID=RegInfo.ApplyID ) or (TA.LastRegTime is null) ) order by TA.ID desc
//可想直接查上面查询的记录行数,就出错呢?
select Count(DISTINCT TA.ID)
from TA,TB,RegInfo where TA.VendorID=1 and TA.DogGroupID=7 and ( (TA.ID=TB.DogID and TB.ID=RegInfo.ApplyID ) or (TA.LastRegTime is null) )
谢谢指点一二了~ 现在的笨方法是想查询记录集,再得到它的记录数,汗~~
select DISTINCT TA.ID,TA.Dog, TA.LastRegTime,TA.DogType,TA.UserName
from TA,TB,RegInfo where TA.VendorID=1 and TA.DogGroupID=7 and ( (TA.ID=TB.DogID and TB.ID=RegInfo.ApplyID ) or (TA.LastRegTime is null) ) order by TA.ID desc
//可想直接查上面查询的记录行数,就出错呢?
select Count(DISTINCT TA.ID)
from TA,TB,RegInfo where TA.VendorID=1 and TA.DogGroupID=7 and ( (TA.ID=TB.DogID and TB.ID=RegInfo.ApplyID ) or (TA.LastRegTime is null) )
谢谢指点一二了~ 现在的笨方法是想查询记录集,再得到它的记录数,汗~~
...全文
相关推荐
SQL语句去掉重复记录,获取重复记录
SQL语句去掉重复记录,获取重复记录
分析MySQL中优化distinct的技巧
有这样的一个需求:select count(distinct nick) from user_access_xx_xx; 这条sql用于统计用户访问的uv,由于单表的数据量在10G以上,即使在user_access_xx_xx上加上nick的索引, 通过查看执行计划,也为全索引扫描,sql在执行的时候,会对整个服务器带来抖动; root@db 09:00:12>select count(distinct nick) from user_access; +———————-+ | count(distinct nick) | +———————-+ | 806934 | +—————
SQL select distinct的使用方法
主要介绍了SQL中distinct的用法 ,需要的朋友可以参考下
SQL中distinct的用法(四种示例分析)
distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是distinct只能返回它的目标字段,而无法返回其它字段,接下来通过本篇文章给大家分享SQL中distinct的用法,需要的朋友可以参考下
经常面试到的SQL题(查询重复数据和清除重复数据)
经常面试到的SQL题(查询重复数据和清除重复数据).


