sql中的distinct

测试书中题目:加上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是多余的。

posted on 2015-03-12 12:04  discuz-chen  阅读(136)  评论(0)    收藏  举报

导航