首页 > 数据库 >无涯教程-SQL - Distinct语句

无涯教程-SQL - Distinct语句

时间:2024-01-15 21:31:55浏览次数:27  
标签:SALARY Distinct 2000.00 无涯 DISTINCT +----------+ SQL SELECT

SQL DISTINCT 关键字与SELECT语句结合使用,以消除所有重复记录并仅获取唯一记录。

Distinct - 语法

消除重复记录的DISTINCT关键字的基本语法如下-

SELECT DISTINCT column1, column2,.....columnN 
FROM table_name
WHERE [condition]

Distinct - 示例

考虑具有以下记录的CUSTOMERS表-

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  6 | Komal    |  22 | MP        |  4500.00 |
|  7 | Learnfk    |  24 | Indore    | 10000.00 |
+----+----------+-----+-----------+----------+

首先,让无涯教程看看下面的SELECT查询如何返回重复的薪水记录。

SQL> SELECT SALARY FROM CUSTOMERS
   ORDER BY SALARY;

这将产生以下输出,其中薪水(2000)两次出现,这是原始表中的重复记录。

+----------+
| SALARY   |
+----------+
|  1500.00 |
|  2000.00 |
|  2000.00 |
|  4500.00 |
|  6500.00 |
|  8500.00 |
| 10000.00 |
+----------+

现在,让无涯教程在上面的SELECT查询中使用DISTINCT关键字,然后查看输出。

SQL> SELECT DISTINCT SALARY FROM CUSTOMERS
   ORDER BY SALARY;

如果没有任何重复的条目,这将产生以下输出。

+----------+
| SALARY   |
+----------+
|  1500.00 |
|  2000.00 |
|  4500.00 |
|  6500.00 |
|  8500.00 |
| 10000.00 |
+----------+

参考链接

https://www.learnfk.com/sql/sql-distinct-keyword.html

标签:SALARY,Distinct,2000.00,无涯,DISTINCT,+----------+,SQL,SELECT
From: https://blog.51cto.com/u_14033984/9259312

相关文章

  • MySQL常规(总结)
    1.exist和in的区别1.1select*fromA whereidin(selectidfromB)in 先查询子表,再查询主表,不管子查询是否有数据,但是in只执行一次,查出B表中的所有id字段并缓存起来,检查A表的id是否与B表中的id相等,直到遍历完A表所有记录,所以当子查询数据较大时不适合使用in,因为它会将子......
  • 数据库学习笔记(一)—— 初识MySQL
    初识MySQL介绍什么是数据库? 数据库是结构化信息或数据的有序集合,一般以电子形式存储在计算机系统中。通常由数据库管理系统(DBMS) 来控制。在现实中,数据、DBMS及关联应用一起被称为数据库系统,通常简称为数据库。数据库与电子表格有何区别?数据库和电子表格(例如......
  • 无涯教程-SQL - Top语句
    SQLTOP子句用于从表中获取TOP前N条或前X百分记录。注意-所有数据库都不支持TOP子句,如,MySQL支持LIMIT子句来获取有限数量的记录,而Oracle使用ROWNUM命令来获取有限数量的记录。Top-语法带有SELECT语句的TOP子句的基本语法如下。SELECTTOPnumber|percentcolumn_nam......
  • 无涯教程-SQL - 删除操作(Delete)
    SQLDELETE查询用于从表中删除现有记录,您可以将WHERE子句与DELETE查询一起使用,以删除所选的行,否则将删除所有记录。DeleteQuery-语法带WHERE子句的DELETE查询的基本语法如下-DELETEFROMtable_nameWHERE[condition];您可以使用AND或OR运算符组合N个条件。DeleteQuery......
  • Qt连接MySQL数据库失败
    连接MySQL数据库时报错:QSqlDatabase:QMYSQLdrivernotloadedQSqlDatabase:availabledrivers:QSQLITEQODBCQODBC3QPSQLQPSQL7有上述报错是因为使用的qt版本不自带mysql的驱动,需要手动编译。可以检查一下D:\pawf\Program\dev\cpp\Qt\5.15.2\mingw81_64\plugins\sqldri......
  • 我成为开源贡献者的原因竟然是做MySql-CDC数据同步
    今年下半年机缘巧合下公司决定搭建自己的数据中台,中台的建设势必少不了数据集成。首先面临的就是数据集成技术选型的问题,按照社区活跃度、数据源适配性、同步效率等要求对市面上几个成熟度较高的开源引擎进行了深度调研。最终经过内部讨论决定用ApacheSeaTunnel作为数据集成的基......
  • 无涯教程-SQL - Like语句
    SQLLIKE子句用于使用通配符运算符将值与相似值进行比较,LIKE运算符与两个通配符一起使用。百分号(%)下划线(_)百分号代表零个,一个或多个字符,下划线表示单个数字或字符,这些符号可以组合使用。Like-语法%和_的基本语法如下-SELECTFROMtable_nameWHEREcolumnLIKE'XXX......
  • mysql8.0用户与权限管理
    1、用户管理1.1、密码过期策略在MySQL中,数据库管理员可以手动设置账号密码过期,也可以建立一个自动密码过期策略。过期策略可以是全局的,也可以为每个账号设置单独的过期策略。ALTERUSERuserPASSWORDEXPIRE;练习:ALTERUSER'kangshifu'@'localhost'PASSWORDEXPIRE;......
  • MySQL面试题(1):count
    InnoDB和MyISAM的count(*)有何不同MyISAM引擎把一个表的总行数存在了磁盘上,因此执行count(*)的时候会直接返回这个数(无where条件)InnoDB执行count(*)的时候,需要把数据一行一行地从引擎里面读出来,然后累积计数为什么InnoDB不跟MyISAM一样,也把数字存起来呢?因为......
  • mysql分区表
    1.什么是分区?​所谓的分区就是将一个表分解成多个区块进行操作和保存,从而降低每次操作的数据,提高性能,而对应用来说是透明的,从逻辑上看就只是一个表(这里跟分库分表的访问不一样),但是物理上的这个表可能是由多个物理分区组成,每个分区都是一个独立的对象,可以进行独立处理。2.分区目......