【发布时间】:2014-12-08 22:24:38
【问题描述】:
我刚刚注意到我的 Informix SQL 列(在同一个表中)一些有些奇怪。当我做这个查询时
SELECT DISTINCT colName
FROM myTable
例如,我得到 40 行。但是当我这样做时
SELECT COUNT(DISTINCT colName)
FROM myTable
我得到一个大得多的数字(例如,300)。但是,在某些列上它可以工作(行数和计数结果相等)。如果我这样做:
SELECT colName
FROM myTable
我得到的行数相同
SELECT COUNT(*)
FROM myTable
给出另一个(高得多的)数字 nameley 表中所有行的确切数量。
为什么 COUNT (DISTINCT) 返回的数字和常规 SELECT DISTINCT 返回的行号在某些列上不同,而在其他列上却没有?
【问题讨论】:
-
您的界面会限制返回的行数吗?
-
@GordonLinoff 不,我检查了这个。它也发生在接口应该定义不限制任何东西的小数字(如 7 和 10)上。
-
如果您使用以下查询,计数是多少?
SELECT COUNT(*) FROM myTable GROUP BY colName -
@Haneev 然后我得到了常规
SELECT DISTINCT上的行数,但每行的数字加起来就是COUNT (DISTINCT)的值 -
您能否提供在没有敏感数据的新表上重现此问题的步骤?这对帮助很有用。
标签: sql database count distinct informix