mysql 查询怎么去除重复列

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 查询怎么去除重复列相关的知识,希望对你有一定的参考价值。

假设:查询一个结果集当中,要求三个字段同时不重复,即当 字段1=A 时,字段2=B 那么其他记录中不再出现字段1=A 并且字段2=B的情况。

select *, count(distinct name) from table group by name
这个 你想去除那些重复 就直接在 distinct 后面 后group by 后面加 就可以了
参考技术A select distinct name, id from table

MySQL中数据的基本查询方式

1.查询所有列

  select * from 表名称;

2.查询指定列

  select 字段名,字段名,字段名 from 表名称;

3.查询时添加常量列(临时备注)

  select 字段名,字段名,字段名,字段名 as 备注 from 表名称;

4.查询时合并列(合并列只能合并数值类型的字段)

  select 字段名,(字段名+字段名) from 表名称;

5.查询时去除重复记录

  select distinct 字段名 from 表名称;

6.条件查询(where)

  (1)逻辑条件:and(并)  or(或)

  select * from 表名称 where 字段名=值 and 字段名=值;

  select * from 表名称 where 字段名=值 or 字段名=值;

  (2)比较条件:>  <  >=  <=  =  <>(不等于)  between and(等价于>=且<=)

  (3)判空条件(null空字符串):is null  /  is not null  /  =  ‘  ‘  /<>  ‘  ‘

  null:表示没有值   /   空字符串:有值,但是值是空字符串

  判断null

  select * from 表名称 where 字段名 is null;

  判断空字符串

  select * from 表名称 where 字段名=‘  ‘;

  判断null和空字符串

  select * from 表名称 where 字段名 is null or 字段名=‘  ‘;

  查询不包括null和空字符串的字段

  select * from 表名称 where 字段名 is not null and 字段名<> ‘  ‘;

  (4)模糊条件:like

  通常用一下替换标记:

  %:表示任意个字符

  _:表示一个字符

  select * from 表名称 where 字段名 like ‘部分值%‘;

7.聚合查询(使用聚合函数的查询)

  常用的聚合函数:sum()求和   avg()求平均值   max()求最大值   min()求最小值   count()计数

  用法:select 聚合函数(字段名) from 表名称;

  注意:count()函数统计的数量不包含null的数据,使用count统计表的记录数,要使用不包含null值的字段。

8. 分页查询(limit起始行,查询几行)

  起始行从0开始

  分页:当前页  每页显示多少条

  分页查询当前页的数据的sql:select * from 表名称 limit(当前页-1) 每页显示多少条,每页显示多少条;

例如:查询第1,2条记录(第一页的数据)

  select * from 表名称 limit 0,2;(当前页-1再乘以2,显示几条数据)

  查询第3,4条记录(第二页的数据)

  select * from 表名称 limit 2,2;

  查询第5,6条记录(第三页的数据)

  select * from 表名称 limit 4,2;

  查询第7,8条记录

  select * from 表名称 limit 6,2; 

9. 查询排序(order by)

  语法:order by 字段 asc/desc

  asc:顺序,正序。数值:递增,字母:自然顺序(a-z)

  desc:倒序,反序。数值:递减,字母:自然反序(z-a)

  默认情况下,按照插入记录顺序排序

  select * from 表名称 order by 字段名 asc/desc;

  注意:多个排序条件

  select * from 表名称 order by 字段名 asc,字段名 desc;

10. 分组查询(group by)

  select 字段名(同一个) from 表名称 group by 字段名(同一个);

11. 分组查询后筛选

  注意:分组之前条件使用where关键字,分组之后条件使用having关键字,如分组后找出大于或者小于n的字段

  select 字段名,count(*) from 表名称 group by 字段名 having count(*) 比较条件 n;

以上是关于mysql 查询怎么去除重复列的主要内容,如果未能解决你的问题,请参考以下文章

MySql怎么查询重复的数据

mysql查询时如何去除重复数据

mysql 如何去除表连接查询出来的重复数据

oracle中,查询结果去除重复列,插入到新表中

mysql 根据两个字段值查询时如何去除重复数据

sql 怎么查询不重复数据