SQL
文章平均质量分 61
不死鸟.亚历山大.狼崽子
太极计算机股份有限公司系统架构师,从事ios、.net、flex、java等开发
展开
-
SQL 行转列,列转行
给定如下模拟数据集,这也是SQL领域经典的学生成绩表问题。两张期望的数据表分别如下:1)长表:scoreLong2)宽表:scoreWide考察的问题就是通过SQL语句实现在这两种形态间转换,其中长表转为宽表即,宽表转为长表即列转行。转载 2024-01-04 18:29:18 · 183 阅读 · 0 评论 -
SQL查询出一个表数据插入到另一个表里
(insert into select from)要求目标表(destTbl)存在,由于目标表已经存在,所以我们除了插入源表(srcTbl)的字段外,还可以插入常量,如例中的:5。(select into from)要求目标表(destTbl)不存在,因为在插入时会自动创建。注意:以上方式mysql不支持,mysql使用一下语句。特别注意的是:插入的字段顺序要和查询出的字段顺序一致。原创 2023-01-19 21:03:18 · 1838 阅读 · 0 评论 -
SQL生成序号的四种方式
排名函数是SQL SERVER2005新增的函数。排名函数总共有四种,分别是:row_number、rank、 dense_rank 、ntile。row_number:顺序生成序号。rank:相同的序值序号相同,但序号会跳号。dense_rank :相同的序值序号相同,序号顺序递增。ntile:装桶,把记录分成指的桶数,编序号。下面分别介绍一下这四个排名函数的功能及用法。转载 2022-09-11 11:51:16 · 15348 阅读 · 1 评论 -
SQL:duplicate key value violates unique constraint
原因:出现这个问题的原因是大批量插入数据导致task_ip表和task_ip_id_seq不一致造成的,从下面的两个sql语句可以看出,前面的值已经远大于后边的值,select setval('lead_group_id_seq', (select max(id) from lead_group) + 3000)selct nextval('lead_group_id_seq');...原创 2021-02-05 15:38:33 · 5181 阅读 · 1 评论 -
创建表分区(提高性能重要手段)
--表分区需要在创建表的时候创建 --1.范围分区(最后一个区必须有最大值限制maxvlaue表示大于3000的所有值)create table comp( id number(10) primary key, name varchar2(50) not null, price number(10,2) not null)partition by range(pr...转载 2018-08-04 15:39:04 · 783 阅读 · 0 评论 -
Sql server 千万级大数据SQL查询优化
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t ...原创 2018-08-04 16:08:44 · 21098 阅读 · 3 评论