sql中判断使用distinct是否多余-学习总结
2011-02-22 22:45
204 查看
测试书中题目:加上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是多余的。
不加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是多余的。
相关文章推荐
- mybatis学习之路----动态sql之if条件判断各种使用方式
- 每日学习总结:DropDownList是否已选择验证、存储过程参数为sql字符串问题、将截断字符串或二进制数据。\r\n语句已终止
- 学习struts2建bbs总结五:使用jquery+ajax验证用户名是否存在以及struts效验信息不断重复的问题
- SQL Server去重和判断是否为数字——OBJECT_ID的使用
- MS SQL SERVER 2008 使用OBJECT_ID判断临时表是否存在
- 验证选择每日学习总结:DropDownList是否已选择验证、存储过程参数为sql字符串问题、将截断字符串或二进制数据。\r\n语句已终止
- 剑指Offer学习总结-判断二叉树是否是平衡二叉树
- 近期的安卓学习开发SOS APP的一些总结文档 (拨打电话 加载首页图片的异步代码 判断是否有网络代码)
- sql 游标简单使用(判断临时表是否存在)
- Ibatis学习总结6--使用 SQL Map API 编程
- 当获取相似数据时,使用不同方法调用不同sp,但是使用同一个方法去用IIDataReader或者SqlDataReader读取数据时需要判断column name是否存在。
- AWK使用总结(5)使用AWK判断是否为中文字符
- 使用SQL判断当前JOB是否在运行
- SQL 宝典(本人总结供学习使用)
- SQl Server 动态SQL给变量赋值 和OBJECTPROPERTY函数使用及判断表 存储过程 视图等是否存在
- EXCEL 公式使用小计 生成sql 语句 判断某一数据是否在另一列中出现
- 在SQLServer 2000中,使用SQL语句判断某一字段是否为空
- 学习ASP .NET MVC5官方教程总结(五)使用SQL Server LocalDB创建连接字符串
- 问题总结:判断MS SQLSERVER临时表是否存在 drop table #tempcitys
- 每日学习总结:DropDownList是否已选择验证、存储过程参数为sql字符串问题、将截断字符串或二进制数据。\r\n语句已终止