下面先来看看例子:

table:
  id name
  1 a
  2 b
  3 c
  4 c
  5 b

库结构大概这样,这只是一个简单的例子,实际情况会复杂得多。

比如我想用一条语句查询得到name不重复的所有数据,那就必须使用distinct去掉多余的重复记录。

select distinct name from table
得到的结果是:

name
  a
  b
  c

好像达到效果了,可是,我想要得到的是id值呢?改一下查询语句吧:

select distinct name, id from table

结果会是:

id name
  1 a
  2 b
  3 c
  4 c
  5 b

distinct怎么没起作用?作用是起了的,不过他同时作用了两个字段,也就是必须得id与name都相同的才会被排除。

我们再改改查询语句:

select id, distinct name from table

很遗憾,除了错误信息你什么也得不到,distinct必须放在开头。难到不能把distinct放到where条件里?能,照样报错。

select *, count(distinct name) from table group by name

结果:

id name count(distinct name)
  1 a 1
  2 b 1
  3 c 1

最后一项是多余的,不用管就行了,目的达到就行。

最新文章

  1. mono for android学习过程系列教程(5)
  2. 3D banner(CSS3+HTML5)
  3. Dell服务器安装OpenManage(OMSA)
  4. Android Bundle
  5. Java中Double类型计算问题
  6. Xcode 性能优化
  7. URAL 2069 Hard Rock (最短路)
  8. javaShop的一些总结
  9. 给新人follow代码想到的
  10. jQuery中的一些正则匹配表达式
  11. CSDN挑战编程——《数学问题》
  12. 编写可维护的JavaScript—语句和表达式&变量、函数和运算符
  13. LoadRunner 监控 Apache
  14. html5学习(三)
  15. python学习笔记(4)
  16. 使用kubeadm部署Kubernetes集群
  17. java 容器 集合 用法
  18. [20190213]学习bbed-恢复删除的数据.txt
  19. 注册mySQL到JDBC驱动程序方法浅谈
  20. sklearn 数据预处理1: StandardScaler

热门文章

  1. H. A Cache Simulator
  2. Two progressions CodeForces - 125D (暴力)
  3. WebGPU学习(八):学习“texturedCube”示例
  4. java复习(1)面向对象
  5. react中父组件给子组件传值
  6. Spring基础20——AOP基础
  7. iconv_close - 关闭字符转换描述符
  8. 【writeup】is_numeric函数矛盾运用
  9. 解决在linux下安装centos自带的mysql后,出现navicat远程连接失败的问题
  10. Django报错 No module named 'django.templates'