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 @ 2011-02-22 22:45  王滔  阅读(1041)  评论(0编辑  收藏  举报