原贴地址:http://www.cnblogs.com/rainman/archive/2013/05/03/3058451.html#m0

SQL中distinct的用法

  • 1.作用于单列
  • 2.作用于多列
  • 3.COUNT统计
  • 4.distinct必须放在开头
  • 5.其他

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

表A:

表B:

1.作用于单列

select distinct name from A

执行后结果如下:

2.作用于多列

示例2.1

select distinct name, id from A

执行后结果如下:

实际上是根据name和id两个字段来去重的,这种方式Access和SQL Server同时支持。

示例2.2

select distinct xing, ming from B

返回如下结果:

返回的结果为两行,这说明distinct并非是对xing和ming两列“字符串拼接”后再去重的,而是分别作用于了xing和ming列。

3.COUNT统计

select count(distinct name) from A;   --表中name去重后的数目, SQL Server支持,而Access不支持

count是不能统计多个字段的,下面的SQL在SQL Server和Access中都无法运行。

select count(distinct name, id) from A;

若想使用,请使用嵌套查询,如下:

select count(*) from (select distinct xing, name from B) AS M;

4.distinct必须放在开头

select id, distinct name from A;   --会提示错误,因为distinct必须放在开头

5.其他

distinct语句中select显示的字段只能是distinct指定的字段,其他字段是不可能出现的。例如,假如表A有“备注”列,如果想获取distinc name,以及对应的“备注”字段,想直接通过distinct是不可能实现的。但可以通过其他方法实现关于SQL Server将一列的多行内容拼接成一行的问题讨论

转载于:https://www.cnblogs.com/zuizui1204/p/6111615.html

Oracle的去重函数 distinct相关推荐

  1. 去重函数distinct

    distinct去重 函数在实际业务中还是很常用的. 1.select distinct job from emp;//去重相同的岗位 2.select ename.distinct job from ...

  2. Oracle去重函数distinct

    distinct用于返回唯一不同的值. 表table1: id value 1 a 1 a 2 b 3 b 4 c 5 c 表table2: username password tom s123456 ...

  3. oracle分组去重函数

    row_number() over(partition by nv.id order by 1) rn Row_number() over( order by OPERATE_DATE) --根据字段 ...

  4. oracle中wm_concat函数去重,oracle-常用函数-wm_contact

    oracle wm_concat(column)函数使我们经常会使用到的,下面就教您如何使用oraclewm_concat(column)函数实现字段合并 如: shopping: --------- ...

  5. Oracle中select函数以及分组多表连接等重要点以及示例

    Oracle中select函数以及分组多表连接等重要点 函数 –函数 –内置函数和自定义函数 –单行函数:一条记录返回一个结果的 –多行函数|组函数|聚合函数:多条记录返回一条结果的 单行函数 单行函 ...

  6. Oracle 内置函数

    F.1字符函数--返回字符值 这些函数全都接收的是字符族类型的参数(CHR除外)并且返回字符值.除了特别说明的之外,这些函数大部分返回VARCHAR2类型的数值.字符函数的返回类型所受的限制和基本数据 ...

  7. Oracle的sql 函数

    Oracle的SQL函数 Oracle的SQL函数分为单行函数和多行函数.单行函数只对单条记录有效,多行函数对多条记录有效. 单行函数包括,字符.数字.日期.转换和普通函数. 字符函数举例: ?全小写 ...

  8. [转]ORACLE日期时间函数大全

    本文转自:http://www.cnblogs.com/chuncn/archive/2009/04/29/1381282.html ORACLE日期时间函数大全 TO_DATE格式(以时间:2007 ...

  9. 重写Oracle的wm_concat函数,自定义分隔符、排序

    oracle中,wm_concat函数是一个聚合函数,和mysql中的group_concat函数类似,不过group_concat函数比较强大,可以定义分隔符和排序,当然所谓强大是相对的,这里假使我 ...

最新文章

  1. Cassandra使用的各种策略
  2. B/S,C/S简单介绍
  3. 专访Connolly:为什么我们需要手动回归测试宣言?
  4. cfree是c语言程序的什么,用C-FREE编写的C语言程序
  5. linux中samba详解,详解linux系列之samba的安装及配置
  6. 工作374-前端margin:0 auto为什么会失效
  7. python实现dem输出三维模型_python DEM数据可视化
  8. mac 上压测工具_Mac上的触控板/鼠标增强工具推荐
  9. Objective-C ,ios,iphone开发基础:UIAlertView使用详解
  10. 数学实验matlab课后习题,数学实验练习题(MATLAB)
  11. 铝板展开插件_铝板行业排料Rhino插件
  12. vue使用阿里巴巴矢量图标
  13. NVIDIA Jetson TK1学习与开发(四):一些细节问题
  14. 智能窗帘电机究竟有何亮点?智汀小米有何优势?
  15. 一个完整的项目管理流程
  16. 基于宜搭的《T恤尺码收集》应用搭建最佳实践
  17. Binder源码阅读指南之java层,作为Android开发程序员
  18. Bootstrap 教程第四课:制作一组功能图标按钮
  19. MockMockito使用手册
  20. Revit二次开发之族库管理系统

热门文章

  1. execle java,Java使用POI操作Excel
  2. 帝国cms怎么搭建python环境_自己写的帝国cms后台文章添加增加二级或多级联动功能...
  3. net framework安装有什么影响_阳台护栏安装不当会造成什么影响
  4. 我的大数据方法论:求扔砖
  5. java hssfsheet_Java中,使用HSSFSheet创建excel模板如何创建一列两行的数据?
  6. Leetcode-213:打家劫舍 II
  7. 高中信息技术——进制与编码刷题点整理
  8. css3 flex布局九宫格,css3最全flex布局结构整理
  9. android list布局,android-为具有不同项目布局的ListViews创建ViewHolders
  10. matlab 删掉空行,在MATLAB中使用XLSWRITE:如何删除空单元格?