使用DISTINCT关键字时,为什么此查询结果不会更改?

Sky*_*ive 3 sql distinct

为什么两个查询的结果相同?(我正在使用northwind数据库.)

SELECT      ContactTitle
        ,   COUNT(CustomerID) AS NumberOfCustomer
FROM        dbo.Customers
WHERE       ContactTitle LIKE '%sales%'
GROUP BY    ContactTitle
HAVING      COUNT(*) >= 5
ORDER BY    NumberOfCustomer desc
Run Code Online (Sandbox Code Playgroud)

SELECT 
DISTINCT    ContactTitle
        ,   COUNT(CustomerID) AS NumberOfCustomer
FROM        dbo.Customers
WHERE       ContactTitle LIKE '%sales%'
GROUP BY    ContactTitle
HAVING      COUNT(*) >= 5
ORDER BY    NumberOfCustomer desc
Run Code Online (Sandbox Code Playgroud)

结果是:

ContactTitle           NumberOfCustomer
---------------------  ----------------
Sales Representative         17
Sales Manager                11
Sales Associate               7
Sales Agent                   5
Run Code Online (Sandbox Code Playgroud)

根据我自己的理解,第二个查询得到不同的标题并计算其记录,所以我期望结果将是无,因为每个标题只有记录计数1.我是对的吗?

Cha*_*had 7

DISTINCT在其他操作之后完成.首先它执行GROUP BY已经使每一行不同,所以这DISTINCT是多余的.