두 쿼리의 결과가 같은 이유는 무엇입니까? (. 내가하여 Northwind 데이터베이스를 사용하고를)DISTINCT 키워드를 사용할 때이 쿼리 결과가 변경되지 않는 이유는 무엇입니까?
SELECT ContactTitle
, COUNT(CustomerID) AS NumberOfCustomer
FROM dbo.Customers
WHERE ContactTitle LIKE '%sales%'
GROUP BY ContactTitle
HAVING COUNT(*) >= 5
ORDER BY NumberOfCustomer desc
및
SELECT
DISTINCT ContactTitle
, COUNT(CustomerID) AS NumberOfCustomer
FROM dbo.Customers
WHERE ContactTitle LIKE '%sales%'
GROUP BY ContactTitle
HAVING COUNT(*) >= 5
ORDER BY NumberOfCustomer desc
을 결과가 : 내 자신의 이해에
ContactTitle NumberOfCustomer
--------------------- ----------------
Sales Representative 17
Sales Manager 11
Sales Associate 7
Sales Agent 5
, 두 번째 쿼리는 별개의 타이틀을 얻고, 그 기록을 세지. 그래서 나는 각 타이틀이 단지 1의 레코드 카운트를 가지고 있기 때문에 그 결과가 아무 것도 없을 것이라고 기대하고있다. 내가 맞습니까?
* "ContactTitle 열에 DISTINCT 추가"*를 제외하고는 정확합니다. 'DISTINCT'는 컬럼이 아닌 전체 행에 적용됩니다. –
그림을 가져 주셔서 감사합니다. 쿼리 실행 계획을 어떻게 이해합니까? – SkyDrive
단편 소설 (부끄러운 광고) : [SELECT : 주문 또는 처리] (http://stackoverflow.com/questions/6545664/using-case-expression-column-in-where-clause/6545685#6545685) –