SQL DISTINCT去除查询结果重复行

关于单个表的SELECT查询,还有一个非常实用的操作,就是从结果中去掉重复的行。使用的关键字是DISTINCT。比如我们想要看下heros表中关于攻击范围的取值都有哪些:

SELECT DISTINCT attack_range FROM heros

这是运行结果(2条记录),这样我们就能直观地看到攻击范围其实只有两个值,那就是近战和远程。

SQL DISTINCT去除重复行
如果我们带上英雄名称,会是怎样呢:

SELECT DISTINCT attack_range, name FROM heros

运行结果(69条记录):

SQL DISTINCT去除重复行
这里有两点需要注意:

  1. DISTINCT需要放到所有列名的前面,如果写成SELECT name, DISTINCT attack_range FROM heros会报错。
  2. DISTINCT其实是对后面所有列名的组合进行去重,你能看到最后的结果是69条,因为这69个英雄名称不同,都有攻击范围(attack_range)这个属性值。如果你想要看都有哪些不同的攻击范围(attack_range),只需要写DISTINCT attack_range即可,后面不需要再加其他的列名了。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程