首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MS SQL Server 实战 排查多列之间的值是否重复

    需求 在日常的应用中,排查列重复记录是经常遇到的一个问题,但某些需求下,需要我们排查一组列之间是否有重复值的情况。...比如我们有一组题库数据,主要包括题目和选项字段(如单选选择项或多选选择项) ,一个合理的数据存储应该保证这些选项列之间不应该出现重复项目数据,比如选项A不应该和选项B的值重复,选项B不应该和选项C的值重复...,以此穷举类推,以保证这些选项之间不会出现重复的值。...SQL语句 首先通过 UNION ALL 将A到D的各列的值给组合成记录集 a,代码如下: select A as item,sortid from exams union all select...至此关于排查多列之间重复值的问题就介绍到这里,感谢您的阅读,希望本文能够对您有所帮助。

    2.8K10

    大战SQL列类型及其列属性

    SQL学习历程 MySQL也有好几天没看了,部分语句都已不太熟悉,得赶快拿起来温习温习。...上次讲到了列类型的枚举类型,那么接下来还有集合记录长度,列属性倒不是特别多,也就有空属性,列描述以及默认值,所以学起来也是超快~ 集合字符串 集合跟枚举实际上很类似,实际上存储的是数值,而不是字符串(集合可以多选...下面可以开始讲述列属性的三个小部分啦~ 列属性 是真正约束字段的数据类型。...列属性有很多:NULL/NOT NULL,default,primary key,auto_increment,comment(描述表的字段) 这里讲到的是空属性,列描述和默认值。...默认值 某一种数据会经常性的出现某个具体的值,可以在一开始就指定好,在需要真实数据的时候,用户可以选择性的使用默认值或者自己选择不使用默认值。

    1.8K30

    Pandas 查找,丢弃列值唯一的列

    前言 数据清洗很重要,本文演示如何使用 Python Pandas 来查找和丢弃 DataFrame 中列值唯一的列,简言之,就是某列的数值除空值外,全都是一样的,比如:全0,全1,或者全部都是一样的字符串如...:已支付,已支付,已支付… 这些列大多形同虚设,所以当数据集列很多而导致人眼难以查找时,这个方法尤为好用。...上代码前先上个坑吧,数据列中的空值 NaN 也会被 Pandas 认为是一种 “ 值 ”,如下图: 所以只要把列的缺失值先丢弃,再统计该列的唯一值的个数即可。...代码实现 数据读入 检测列值唯一的所有列并丢弃 最后总结一下,Pandas 在数据清洗方面有非常多实用的操作,很多时候我们想不到只是因为没有接触过类似的案例或者不知道怎么转换语言描述,比如 “...列值唯一 ” --> “ 除了空值以外的唯一值的个数等于1 ” ,许多坑笔者都已经踩过了,欢迎查看我的其余文章,提建议,共同进步。

    10.2K21

    sql技术汇总

    ,类似“select 1 from tblName”是一个很不错的SQL语句写法,它通常用于子查询。...这样可以减少系统开销,提高运行效率,因为这样子写的SQL语句,数据库引擎就不会去检索数据表里一条条具体的记录和每条记录里一个个具体的字段值并将它们放到内存里,而是根据查询到有多少行存在就输出多少个“1”...所以列的偏移量决定性能,列越靠后,访问的开销越大。由于count()的算法与列偏移量无关,所以count()最比count(列)快。...count(column)对特定的列的值具有的行数进行计算,不包含NULL值。 count()还有一种使用方式,count(1)这个用法和count()的结果是一样的。...注意: 1) 在设计表的时候,如果发现这列是需要运算的列,建议设置默认值,比如0; 2) 在整形列的运算的时候,不管是加,减,乘,除等。都需要使用ifnull,对列进行处理。否则报表数据就会错。

    1.5K20

    SQL 将多列的数据转到一列

    假设我们要把 emp 表中的 ename、job 和 sal 字段的值整合到一列中,每个员工的数据(按照 ename -> job -> sal 的顺序展示)是紧挨在一块,员工之间使用空行隔开。...PRESIDENT 5000 (NULL) MILLER CLERK 1300 (NULL) 解决方案 将多列的数据整合到一列展示可以使用...使用 case when 条件1成立 then ename when 条件2成立 then job when 条件3成立 then sal end 可以将多列的数据放到一列中展示,一行数据过 case...when 转换后最多只会出来一个列的值,要使得同一个员工的数据能依次满足 case when 的条件,就需要复制多份数据,有多个条件就要生成多少份数据。...完整的SQL 如下: SELECT CASE rn WHEN 1 THEN ename WHEN 2 THEN job WHEN 3 THEN

    8.4K30

    实战演练:通过伪列、虚拟列实现SQL优化

    一.通过伪列、虚拟列实现SQL优化 慢 SQL 文本如下: ? SQL 执行时长达 38S,获取 361 条数据结果返回。 SQL 执行计划如下: ?...虚拟列实现SQL优化 分析 SQL 可知,SQL 的性能瓶颈在于 a.minute = DATE_FORMAT(b.create_time, '%H:%i') 两表之间的关联关系,SQL 无法通过表之间的关联关系直接驱动...无法通过创建函数索引来优化该 SQL。 这时候 SQL 如何在不改变业务的需求下继续深入优化呢? MySQL 5.7 增加了虚拟列的新功能,可以类似的实现 Oracle 函数索引。...伪列的引入,可以强制 SQL 改变表之间的关联顺序,获得想要的执行计划。将 SQL 改写成如下方式: ? SQL 在 0.004s 之后即返回查询结果。 执行计划如下: ?...,等价改写SQL改变表的驱动方式,也仅仅只将 SQL 的执行时间由 13s 优化为7s,SQL 真正的性能瓶颈在于对 150W 数据的 inputlog 表按列 ShenFenZhengID 去重。

    2.1K31

    常用SQL语句汇总

    表名> [ADD [完整性约束]] [DROP ] [ALTER COLUMN ]; 其中是要修改的基本表,ADD子句用于增加新列和新的完整性约束条件...,DROP子句用于删除指定的完整性约束条件,ALTER COLUMN子句用于修改原有的列定义,包括列名和数据类型。...索引可以建立在该表的一列或多列上,各列名之间用逗号分隔。每个后面还可以用指定索引值的排序次序,可选ASC(升序)或DESC(降序),缺省值为ASC。...UNIQUE表明此索引的每一个索引值只对应唯一的数据记录。 CLUSTER表示要建立的索引是聚簇索引。所谓聚簇索引是指索引项的顺序与表中记录的物理顺序一致的索引组织。...常用的聚集函数:COUNT, SUM, AVG, MAX, MIN 数据更新 插入数据: INSERT INTO [(列1> [, 列2>…])] VALUES ( [,

    76740

    SQL基础语句汇总

    引言 是时候复习一波SQL语句的语法了,无需太深,但总得会用啊。 语法 一步步由浅到深,这里用的都是mysql做的。...字段2值,……),(字段1值,字段2值,……); 个别字段插入 insert into winton(id) values(004); 查看插如后的结果,如上图所示。...语法:insert inton 表名(字段名) values(值一),(值二); 普通查询 单表全字段查询 select * from t1; 语法:select * from 表名; 单表个别字段查询...colunm)返回字母序最小值,返回数值最小值 常用的修饰符 distinct 字段中值唯一 select distinct name from winton; limit查询结果数限制 select...index wintonIndex on winton (id); 语法:create unique index 索引名 on 表名 (字段一,字段二,……); ps:unique index 要求列中数据唯一

    53020
    领券