測試書中題目:加上distinct是否多余?
不加distinct的話,顯示類似如下情況:
SELECT count( *? )
FROM `players`
GROUP BY town
count( * )
1
2
2
加上distinct的話,顯示類似如下情況:
SELECT distinct count( *? )
FROM `players`
GROUP BY town
count( * )
1
2
結論:加上distinct的話,重復的值不計入count中了。
另外一個測試例子:
SELECT DISTINCT playerno
FROM players
WHERE TOWN = '長沙'
distinct為什么不算重復呢?
記住機制:先按照where進行取出數據。然后按照distinct指定的列,去掉playerno值重復的列。
通俗的辦法:假如明顯看出取出的要么是一行,要么是沒有結果行。那么使用distinct是多余的。