Distinct作用:消除重复的数值

1、如:

1 select id from T1
2
3 select distinct id from T1

二者的检索效果如下:

distinct可以用来修饰多列,如:

1 select distinct id,name from T1

效果:

发现检索的结果自动按照id列进行排序,再比如:

1 select distinct name,id from T1

发现的结果自动按照name列进行排序。也就是说在执行select语句时,总会对要被检索的列,进行默认的排序,如上例,先按照name进行排序,再按照id进行排序。

可以以不同的方式,对各列进行排序,如:

select distinct name ,id from T1 order by name desc,id asc

效果如下:

2、限制

distinct中的select语句只能是distinct所指定的字段,不能出现其他字段,如:


Count作用:返回匹配指定条件的行数。

如:

select count(*) from T1 where id=1select count(id) from T1select count(distinct id) from T1

返回id为1的记录条数。

返回T1表格中所有的id行数,id为null的记录不统计在内。

返回T1表格中所有不同的id行数,id为null的记录不统计在内。


3、Distinct&Count

1 select count(distinct id) from T1

将返回不同id的行数。

但是注意count的使用,如下sql语句将报错:

1 select count(distinct name),id from T1

显示错误:选择列表中的列 'T1.ID' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。

应该这样写:

1 select count(distinct name),id from T1 group by id

select语句中如果有聚合函数,其他被检索的列也应该被包含在聚合函数或者group by子句中。

转载于:https://www.cnblogs.com/SharpL/p/4638466.html

sql中DistinctCount的用法相关推荐

  1. SQL中Truncate的用法

    转自:https://www.cnblogs.com/zhoufangcheng04050227/p/7991759.html 本文导读:删除表中的数据的方法有delete,truncate, 其中T ...

  2. 【SQL中limit的用法】

    SQL中limit的用法 说明:limit子句用于限制查询结果返回的数量,常用于分页查询. 用法:[select * from tableName limit i,n ] 参数:tableName: ...

  3. sql去重复操作详解SQL中distinct的用法

    在表中,可能会包含重复值.这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值.关键词 distinct用于返回唯一不同的值. 表A: 表B: 1.作用于单列 select dist ...

  4. SQL中的limit用法

    limit用法 SQL中的limit函数是用来对数据库中的字段进行限制提取的,如:一个用户表中有许多的用户信息,如果想要取出其中某个位置的某几条数据,就可以使用limit函数. 结构 limit函数结 ...

  5. 教你学会Sql中 ROW_NUMBER的用法

    ROW_NUMBER SqlServer 2005 推出的新功能.语法:select *,ROW_Number() over(order by 字段) as '新列名' from table顾名思义: ...

  6. SQL中Case语句用法讨论

    Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END ...

  7. SQL中的declare用法

     平时写SQL查询.存储过程都是凭着感觉来,没有探究过SQL的具体语法,一直都是按c#那一套往SQL上模仿,前几天项目中碰到一个问题引起了我对declare定义变量的作用域的兴趣. 大家都知道c# ...

  8. SQL中CONVERT()函数用法详解

    SQL中CONVERT函数格式: CONVERT(data_type,expression[,style]) 参数说明: expression 是任何有效的 Microsoft® SQL Server ...

  9. SQL中with as用法

    WITH AS短语,也叫做子查询部分,定义一个SQL片断后,该SQL片断可以被整个SQL语句所用到.有的时候,with as是为了提高SQL语句的可读性,减少嵌套冗余. with A as (sele ...

  10. mysql中groupby用法_详解SQL中GroupBy的用法

    GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组. 1.概述 "Group By"从字面意义上理解就是根据"By"指定的规则对数据进行分 ...

最新文章

  1. Python实现前端AES加密方式分析,***密码学必备!
  2. 将文字自动转为banner打印形式的工具
  3. leetcode算法题--二叉树中和为某一值的路径
  4. 32.C#--方法中使用out参数做登录判断
  5. 什么是Internet
  6. python中xpath用法_Python中的xpath基础使用
  7. Parse a document from a String
  8. 内存对齐还是需要重视的——XMMATRIX 为例
  9. Minidao_1.6.2版本发布,超轻量Java持久化框架
  10. 网络协议:HTTPS
  11. 2d Laser 和 Odomter 内外参数标定工具原理及使用方法
  12. Windows下搭建Android开发环境
  13. Kubernetes详解(十九)——Kubernetes Pod控制器
  14. 豆丁当当免费下载神器
  15. 天天模拟器显示获取服务器失败,天天模拟器FAQ、天天模拟器常见问题快速帮助...
  16. .NET 7 预览版来啦,我升级体验了
  17. 新CCF-CSP认证历年真题解
  18. Intel Edison 第一次使用的更新
  19. linux重新分区丢失数据恢复,Linux数据恢复专题(1)——恢复丢失的分区(转载)...
  20. Java岗大厂面试百日冲刺【Day54】— Redis4 (日积月累,每日三题)

热门文章

  1. CodeIgniter框架中的多语言
  2. WF4.0 基础篇 (二十五)(补充) ActivityFunc 与 InvokeFunc
  3. 别瞎写工具类了,Spring自带的这些他不香麽?
  4. IntelliJ IDEA 调试技巧,比 Eclipse 强太多了!
  5. 阿里,百度,腾讯等一线互联网公司中,Java开发的招聘标准
  6. Android性能优化系列---管理你的app内存(二)
  7. 伟创力被华为索赔数亿后发公开信:深感遗憾,仍希望能合作
  8. 洛谷 - P1012 - 拼数 - 排序
  9. XE5 搭建DataSnap服务
  10. 【程序猿】2016年自己的十年计划篇