首页 > 数据库 >SQL语句中DISTINCT的用法

SQL语句中DISTINCT的用法

时间:2023-09-01 09:02:20浏览次数:41  
标签:语句 DISTINCT 列名 SQL 查询 表名 SELECT

在 SQL 中,DISTINCT 是一个关键字,用于查询结果中去除重复的行。它通常与 SELECT 语句一起使用,以指定只返回唯一(不重复)的值。

DISTINCT 用于在查询结果中去除相同的行。下面是 DISTINCT 的基本语法:

SELECT DISTINCT 列名
FROM 表名
WHERE 条件;

在上述语法中,列名 是需要返回唯一值的列的名称,表名 是要从中查询的表的名称,WHERE 子句用于指定筛选条件(可选)。

以下是一些 DISTINCT 的常见用法:

  1. 使用单个列进行去重:
SELECT DISTINCT 列名
FROM 表名;
  1. 使用多个列进行去重:
SELECT DISTINCT 列名1, 列名2
FROM 表名;
  1. 搭配其他关键字使用(如 ORDER BY):
SELECT DISTINCT 列名
FROM 表名
ORDER BY 列名;

需要注意的是,DISTINCT 会确保返回的结果集中的行是唯一的,但不保证返回的结果集按照特定的顺序排列。

最后,DISTINCT 适用于非聚合查询,即选择特定的列进行去重。如果要对结果进行计数、求和等聚合操作,应该使用 GROUP BY 子句。

标签:语句,DISTINCT,列名,SQL,查询,表名,SELECT
From: https://www.cnblogs.com/hellohui/p/17670886.html

相关文章

  • Mysql主从复制(一主一从)+Mycat(windows-1.X版本)实现读写分离
    项目中,如果数据量大的情况下,可以使用【数据库主从复制+读写分离】的方式优化,其他方式也很多,这里只记录下这种方式一、说明1.需要的环境等:序号环境说明1mysql5.7服务器两台数据库服务器,一台作为主数据库,一台作为从数据库2jdk安装mycat的时候会用到jdk3my......
  • 读写分离---mysql的主主结构和主从架构
    前言:为什么要对mysql做优化?  因为数据都来源于数据库,如果数据库慢了,无论是多线程、各种识别模式优化还是很慢,因为查sql就很慢。  官方说法:单表2000万数据,增删改查就到达瓶颈了。所以为了保证查询效率,得让每张表的大小得到控制。 Mysql架构:实际生产过程中,查询业务......
  • SQL注入
    importutils.JdbcUtils;importjava.sql.Connection;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;publicclassSQL注入{publicstaticvoidmain(String[]args){login("root'or'1=1","12345......
  • mysql基础
    --创键数据库test(如果不存在)CREATEDATABASEIFNOTEXISTStest--删除数据库test(如果存在)DROPDATABASEIFEXISTStest--使用该数据库USEschool--表名或字段名是特殊字符用``包含(tab键上......
  • mysql 创建只读权限账号
    命令行登录mysql-uroot-p创建只读权限的账号【将<username>替换为用户名, <password>替换为密码。'%' 表示该账号可以从任何主机连接。如果希望限制连接的主机,可以将 '%' 替换为具体的主机名或IP地址。】CREATEUSER'<username>'@'%'IDENTIFIEDBY'<password>......
  • SQL语句的学习运用
    回顾投影查询SELECT20DIV10ASres;SELECTDISTINCTs_sexFROM_stu;SELECTs_name,s_sexFROM_stu;投影查询之函数mysql经常做的一些操作编写出来--封装起来--函数 提供了很多的功能函数分为两类 单值函数【一个或者零个参数进一个结果返回】 数学函数 字......
  • 详解 canal 同步 MySQL 增量数据到 ES
    canal是阿里知名的开源项目,主要用途是基于MySQL数据库增量日志解析,提供增量数据订阅和消费。这篇文章,我们手把手向同学们展示使用canal将MySQL增量数据同步到ES。1集群模式图中server对应一个canal运行实例,对应一个JVM。server中包含1..n个instance,我......
  • MySQL 使用Navicat delete/insert into/update 大量数据表锁死,kill的线程后线程处于ki
      MySQL使用delete/insertinto/update大量数据表锁死,kill的线程后线程处于killed状态问题解决实际生产环境问题描述:使用Navicat备份BigData数据表时不小心点到了取消按钮,导致数据表被锁。  查看MySQL线程队列,找到刚刚执行的SQL看是属于什么状态。showprocessli......
  • mysql COALESCE用法 ,GROUP_CONCAT分组用法
    sdroot.dept_namecompany,COALESCE((casewhensd5.dept_name=sdroot.dept_namethennullelsesd5.dept_nameend),(casewhensd4.dept_namein(sdroot.dept_name,sd5.dept_name)thennullelsesd4.dept_nameend),(casewhen......
  • Mysql常用SQL语句
    --查询数据库中有多少表SELECTCOUNT(1)TABLES,table_schemaFROMinformation_schema.TABLESWHEREtable_schema='数据库名'GROUPBYtable_schema;--查询表中有多少字段SELECTCOUNT(*)FROMinformation_schema.COLUMNSWHEREtable_schema='数据库名'ANDtabl......