为什么选择count(*)给出不同的选择结果?

时间:2018-08-09 20:47:59

标签: sql sql-server

对于以下查询,我得到2000。但是当我在 外select Count(*),它返回了1100条记录。这是为什么? 由于StackOverflow抱怨太多代码,实际查询不得不被截断。

SELECT COUNT(*)
FROM   (
SELECT Max(sequence) Sequence,
               Max(keycode)  Keycode,
               Min(dfo)      DFO,
               segmentid
        FROM ( SomeTable2) 
UNION ALL
SELECT TOP 1000 *
FROM SomeTable2
)
AS C  

1 个答案:

答案 0 :(得分:0)

Select count (*)可以接受重复或冗余列,这就是为什么您会获得更多结果的原因,但是使用distinct时,计数只会使您不重复出现列。例子您在表中有以下记录{ {1}}。使用a b c d e d会得到select count(*),但是字母6会出现2次,但是其中d会得到distinct,因为它忽略了重复的内容记录,因为它将忽略5,因为它已经不止一次了。