首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Mysql常用sql语句(4)- distinct 数据

测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 我们使用select进行数据查询时是会返回所有匹配的记录...,如果表某些字段没有做唯一性约束,那么这些字段的值就可能存在重复值 有时候我们想看看这个字段到底有哪几种值,这个时候需要去重方便查看,distinct关键字能发挥作用了 distinct特别注意 当使用...distinct的时候,只会返回指定的字段,其他字段都不会返回,所以查询语句就变成重查询语句 常见使用场景: 查看去重字段有哪几种值【返回值】 查看去重字段有多少个值【返回数量】 distinct的语法格式...SELECT DISTINCT ,, FROM ; 知识点 distinct只能在select语句中使用 distinct必须在所有字段前面 如果有多个字段需要去重,则会对多个字段进行组合重...,即所有字段的数据重复才会被重 实战栗子 我们先看看表里面有哪些数据 ?

1.7K10
您找到你想要的搜索结果了吗?
是的
没有找到

SQL语句_sql中文

sql语句sql语句通过DISTINCT关键字重, 用于返回唯一不同的值。DISTINCT关键字需要搭配SELECT 语句使用,语法为SELECT DISTINCT 列名称 FROM 表名称。...sql语句重 —你上面写的 delete x from A x where x.id > (select min(id) from A y where x.A1 = y.A1 and x.A2=y.A2...查询 要求去除重复语句 declare @tid nvarchar(50),@username nvarchar(50),@oldusername nvarchar(50),@str nvarchar(...=’select top 3 * from `pw_threads` AS t where tid in (@tid)’ exec @sql end 关于SQl语句重的,怎么去掉重复的内容 可以采用组函数...(*)>1; 第二:把这些数据插入到一个中转表SQL 略 第三:把原表重复数据删除; SQL 略 第四:把备份到中转表的唯一化之后的数据,再插入原来的表

1K20

MySQL数据SQL语句分几类?

SQL语句主要分为四类,分别是数据查询语言(DQL)、数据操作语言(DML)、数据定义语言(DDL)和数据控制语言(DCL)。1....数据查询语言(DQL):用于从数据的一个或多个表查询数据,主要使用SELECT语句。2....数据操作语言(DML):用于修改数据数据,包括插入(INSERT)、更新(UPDATE)和删除(DELETE)等操作。3....数据控制语言(DCL):用于对数据库的访问进行控制,包括给用户授予访问权限(GRANT)和取消用户访问权限(REVOKE)等操作。SQL通用语法在书写SQL语句时,需要注意以下几点通用语法:1....SQL语句可以单行或多行书写,以分号结尾。2. SQL语句可以使用空格/缩进来增强语句可读性。3. SQL语句不区分大小写,但关键字建议使用大写。4.

30010

MySQLSQL语句优化路径

日常的应用开发可能需要优化SQL,提高数据访问和应用响应的效率,不同的SQL,优化的具体方案可能会有所不同,但是路径上,还是存在一些共性的。...碰巧看到杨老师的这篇文章《第45期:一条 SQL 语句优化的基本思路》,为我们优化一些MySQL数据库的SQL语句提供了可借鉴的路径,值得参考和应用。 SQL语句优化是一个既熟悉又陌生的话题。...面对千奇百怪的SQL语句,虽然数据库本身对SQL语句的优化一直在持续改进,但是我们不能完全依赖数据库,应该在给到数据库之前就替它做好各种准备工作,这样才能让数据库来有精力做它自己擅长的事情。...以MySQL为例,一条SQL语句从客户端发出到数据库端返回结果一般会经历几个阶段:词法解析、语法解析、语义解析、逻辑优化、物理优化、最终执行并返回结果。...经过以上几个步骤,一般的语句基本上都能达到比较优化的结果。 虽然上面说的是MySQL数据库,但是一些理论上,其他的关系型数据库都是可以借鉴的。

2K10

MySQLMySQLSQL语句的索引分析

MySQLSQL语句的索引分析 了解过 索引 的概念以及 B+树 的概念之后,我们就来看看怎么分析一条查询语句的索引使用情况。...相信不少同学应该都使用过 EXPLAIN 来分析 SQL 语句,但是具体到 EXPLAIN 每个字段的作用,可能有不少同学还是会有点晕的。...EXPLAIN语句 接下来,我们使用 EXPLAIN 来查看这条语句。...目前,我们的表没有建立任何索引,只有一个主键索引,因此,上面的查询,大部分的分析结果都是 NULL ,同时 rows 显示的行数也是全部数据的数量,也就是说,在没走索引的情况下,现在我们的查询是一个全表扫描...system 当表只有一要记录并且使用的是 MyISAM、MEMORY 的统计数据是精确的,那么查询计划结果就是 system 。

11010

MySQL数据SQL语句详解

数据库常用操作 操作 语句 创建数据库 create database if not exists 数据库名; 查看所有数据库 show databases; 切换数据库 use 数据库名; 删除数据库...drop database if exists 数据库名; 修改数据库编码 alter database 数据库名 character set utf8; 表结构常用操作 操作 语句 创建表 create...table if not exists 表名(字段名 数据类型, 字段名 数据类型, ...); 查看当前数据库所有表 show tables; 查看表结构 desc 表名; 查看指定表的创建语句 show...旧列名 新列名数据类型(长度); 删除列 alter table 表名 drop 列名; 修改表名 rename table 表名 to 新表名; 增删改 操作 语句 向表插入列 insert into...update 表名 set 字段名=值, ... , 字段名=值 where 条件 删除表数据 delete from 表名 where 条件 删除表 truncate 表名 MYSQL约束 操作

5K30

MySQL常用sql语句

数据库的操作 sql语句要以分号 ; 结尾 显示数据库版本 select version(); 显示时间 select now(); 查看所有数据库 show databases; 创建数据库 -- create...database 数据库名 charset=utf8; create database school; create database school charset=utf8; 查看创建数据库的语句...数据库名; use school; 删除数据库 -- drop database 数据库名; drop database school; 数据表的操作 查看当前数据库中所有表 show tables;...查询id>3所有信息 -- 查询时可以使用as为字段获表指定别名 select name as 姓名, age as 年龄 from students; -- 查询时可以使用distinct消除重复行...) -- 物理删除 -- delete from 表名 where 条件; delete from students; -- 整个数据的所有数据全部删除

2.6K10

Sql语句Mysql的执行流程

分析器: 没有命中缓存的话,SQL 语句就会经过分析器,分析器说白了就是要先看你的 SQL 语句要干嘛,再检查你的 SQL 语句语法是否正确。   ...优化器: 按照 MySQL 认为最优的方案执行。   执行器: 执行语句,然后从存储引擎返回数据。   ...主要负责用户登录数据库,进行用户的身份认证,包括校验账户密码,权限等操作,如果用户账户密码已通过,连接器会到权限表查询该用户的所有权限,之后在这个连接里的权限逻辑判断都是会依赖此时读取到的权限数据,也就是说...连接建立后,执行查询语句的时候,会先查询缓存,MySQL 会先校验这个 sql 是否执行过,以 Key-Value 的形式缓存在内存,Key 是查询预计,Value 是结果集。...对于不经常更新的数据来说,使用缓存还是可以的。             所以,一般在大多数情况下我们都是不推荐使用查询缓存的。

4.6K10

重复执行SQL语句|建表、插入默认值、增加字段、删除字段、修改字段可重复执行SQL语句|oracle|mysql

目录 前言 oracle脚本: 建表语句 插入默认值语句 删除某个字段 增加某个字段 有数据情况下修改某个字段为另外的名称  mysql: 建表语句 插入默认值 删除某个字段 增加某个字段 表有数据情况下将某个字段修改为另外的名称...---- 前言 在真实生产环境过程,我们会用到表,但是随着后面功能的迭代以及更新,会对老表进行一些更新,比如加字段,修改字段类型等,那么随着越来越多的脚本更新,以及同一个项目在不同甲方中,为了保证项目的稳定性...,我们需要对一些sql语句实现可重复执行的操作。...B有,但是当你的脚本是可重复执行的时候,你只需要将2.0的脚本都执行一遍,然后如果是3.0版本的就将3.0的所有脚本都执行一遍就都可以解决了 下面将介绍oracle和mysql的可重复执行脚本 oracle...(); drop procedure if exists sq_db_mysql; 表有数据情况下将某个字段修改为另外的名称 比如电话号码我一开始定义的是number,但是实际上有可能有0791-1111111

7.7K10

查找重复姓名的sql语句

SQLGROUP BY语句与HAVING语句的使用 GROUP BY语句,经过研究和练习,终于明白如何使用了,在此记录一下同时添加了一个自己举的小例子,通过写这篇文章来加深下自己学习的效果,还能和大家分享下...注意 因为聚合函数通过作用于一组数据而只返回一个单个值,因此,在SELECT语句中出现的元素要么为一个聚合函数的输入值,要么为GROUP BY语句的参数,否则会出错。...下面说说如何来思考上面SQL语句执行情况: from test:sql执行的第一步,找表,这个没啥变化; from test group by name:没有join 和 where 操作,就是...字段的单元格里的内容有多个值,关系型数据库是不允许这样的,这样就无法形成严格的关系约束条件了,所以会报错; 那么,对于 id 和 number列咋办呢?...语法:SELECT COUNT(*) FROM table 使用:现在有一个表,名叫app_category,从Navicat可以看到表中所有数据,如图所示,可见表中有297条数据 ?

4.7K10

mysql sql语句大全

9、说明:创建视图: create view viewname as select statement 删除视图: drop view viewname 10、说明:几个简单的基本的sql语句 选择:...B: EXCEPT 运算符 EXCEPT 运算符通过包括所有在 TABLE1 但不在 TABLE2 的行并消除所有重复行而派生出一个结果表。...: select * from 日程安排 where datediff('minute',f开始时间,getdate())>5 13、说明:一条sql 语句搞定数据库分页 select top 10 b...,这种做法不适合大容量但数据操作 3),例如:在一个外部表中导入数据,由于某些原因第一次只导入了一部分,但很难判断具体位置,这样只有在下一次全部导入,这样也就产生好多重复的字段,怎样删除重复字段 alter...语句,找出表的第31到第40个记录。

12.1K30
领券