sql
sql
WGS.
道阻且长,与君共勉:你若对得起时间,时间便会对得起你。
展开
-
python连接MySQL:ModuleNotFoundError: No module named ‘MySQLdb‘
加入:pymysql.install_as_MySQLdb()API:# coding:utf-8import pymysqlimport pandas as pdpymysql.install_as_MySQLdb()def pull_data(sql, dicts): conn = pymysql.connect( host=dicts['host'], user=dicts['user'], passwd=dicts['pas原创 2021-06-23 17:59:33 · 966 阅读 · 1 评论 -
SQL面试题---关于连续签到的问题
请计算20191001~20191031日,31天内,每个部门签到最多的10名用户输出表:部门、用户id、签到天数、名次select DISTINCT department, fuser_id, sum(1) over(PARTITION by department, fuser_id) nums, dense_rank() over(PARTITION by department, fuser_id) rkfrom t_user_attendencewhere fis_sign_in..原创 2020-12-06 14:42:00 · 1612 阅读 · 2 评论 -
mysql里 lag() 和 lead() 用法
lag(param1, param2, param3)取前N行取前N行param1:表中列名param2:前N行param3:超出行数时默认设置值, 没设置就是nulllag(参数1,参数2,参数3)over(order by 列)lead():取后N行测试数据select * from t_user_attendencelag取前五行demo:select *,lag(fdate,5) over(partition by fuser_id order by .原创 2020-12-06 14:36:12 · 9898 阅读 · 0 评论 -
关于SQL求同比、环比
同比和环比的意思同比一般情况下是今年第n月与去年第n月比。同比发展速度主要是为了消除季节变动的影响,用以说明本期发展水平与去年同期发展水平对比而达到的相对发展速度。如,本期2月比去年2月,本期6月比去年6月等。环比表示连续2个单位周期(比如连续两月)内的量的变化比。环比包括两种:环比增长速度和环比发展速度。同比和环比的计算公式同比发展速度同比发展速度 = 本期发展水平 / 去年同期水平 × 100%同比增长速度同比增长速度 =(本期发展水平-去年同期水平)/ 去年同期原创 2020-09-22 09:49:21 · 9736 阅读 · 1 评论 -
MySQL面试题---酒店信息表
1.统计各个星级酒店数select datatime, sum(case when xingji = '2星级' then 1 else 0 end) 2星, sum(case when xingji = '3星级' then 1 else 0 end) 3星, sum(case when xingji = '4星级' then 1 else 0 end) 4星, sum(case when xingji = '5星级' then 1 else 0 end) 5星from informati.原创 2020-09-16 09:34:08 · 1043 阅读 · 0 评论 -
mysql --复制表子查询(复制表、复制数据)
复制表子查询复制表拷贝表结构CREATE TABLE newadmin LIKE admin;拷贝表结构和数据(但约束与索引除外)CREATE TABLE newadmin AS ( SELECT * FROM admin ) 拷贝表结构+数据CREATE TABLE newadmin LIKE admin; INSERT INTO newadmin SELECT * FROM admin;跨数据库拷贝表CREATE TABLE newadmin LIKE原创 2020-09-10 10:53:51 · 491 阅读 · 0 评论 -
mysql更新时有子查询
1、update 时,更新的表不能在set和where中用于子查询;2、update 时,可以对多个表进行更新(sqlserver不行); 如:update ta a,tb b set a.Bid=b.id ,b.Aid=a.id;3、update 后面可以做任意的查询,这个作用等同于from;根据id更新小李的薪资update emp2 e, (select eid as aid fro...原创 2020-03-14 15:57:54 · 519 阅读 · 0 评论 -
MySQL笔记(十二)--索引
12.索引1.为什么我们添加完索引后查询速度为变快?传统的查询方法,是按照表的顺序遍历的,不论查询几条数据,mysql需要将表的数据从头到尾遍历一遍在我们添加完索引之后,mysql一般通过BTREE算法生成一个索引文件,在查询数据库时,找到索引文件进行遍历(折半查找大幅查询效率),找到相应的键从而获取数据2.索引的代价创建索引是为产生索引文件的,占用磁盘空间索引文件是一个二叉树类型的...原创 2019-04-29 21:36:51 · 198 阅读 · 0 评论 -
MySQL笔记(十一)--流程控制结构
流程控制结构顺序、分支、循环一、分支结构1.if函数 语法:if(条件,值1,值2) 功能:实现双分支 应用在begin end中或外面 select if(10>5,'大于','小于');2.case结构 语法: 情况1:类似于switch case 变量或表达式 when 值1 then 语句1; when 值2 then 语句2; ...原创 2019-04-28 21:51:51 · 252 阅读 · 0 评论 -
MySQL笔记(十)--变量,存储过程,函数
10变量,存储过程**********变量**********系统变量(变量由系统定义,不是用户定义,属于服务器层面): 全局变量: 作用域:针对于所有会话(连接)有效,但不能跨重启 会话变量: 作用域:针对于当前会话(连接)有效自定义变量(变量由用户自定义,而不是系统提供的): 用户变量: 作用域:针对于当前会话(连接)有效,作用域同于会话变量 局部变量: ...原创 2019-04-27 11:47:25 · 299 阅读 · 0 评论 -
MySQL笔记及习题(六)--DML和子查询习题
6.增删改(dml)/*联合查询union 联合 合并:将多条查询语句合并成一个结果语法:查询语句1 union 查询语句2 union......应用场景:要求查询的结果来自于多个表,并且多个表没有直接的联系关系,但查询的信息是一致的特点: 1.要求多条查询语句的查询列数是一致的 2.要求多条查询语句的查询的每一列的类型和顺序最好一致 3.union关键字默认去重,如果使用u...原创 2019-04-22 20:22:44 · 520 阅读 · 0 评论 -
MySQL笔记(九)--视图
9.视图视图 含义:虚拟表,和普通表一样 mysql5.1版本出现的新特性,是通过动态生成的数据. 语法: create view 视图名 as 查询语句;视图的修改(增删改)会影响到原表 1.查询姓名中包含a字符的员工名、部门名和工种信息 create view myv1 as select emp.first_name,emp.last_name,dep...原创 2019-04-26 22:04:10 · 204 阅读 · 0 评论 -
MySQL笔记(八)--隔离级别
8.隔离级别set autocommit=0;cmd查看时中文乱码:set character_set_results=GBK;******事务的隔离级别******#查看隔离级别select @@tx_isolation;#设置隔离级别set session transaction isolation level 隔离级别;(session会话)set GLOBAL tran...原创 2019-04-26 22:01:55 · 222 阅读 · 0 评论 -
MySQL笔记及习题(五)--子查询
5.子查询1.含义:出现在其他语句中的select语句,称为子查询或者内查询2.分类: 按子查询出现的位置: select后面:仅仅支持标量子查询 from后面:支持表子查询 where后者having后面: 标量子查询(单行) 列子查询(多行) 行子查询 exists后面(相关子查询):表子查询 按结果集的行列数不同: 标量子查...原创 2019-04-21 22:48:04 · 357 阅读 · 0 评论 -
MySQL笔记及习题(四)--连接查询
4.连接查询含义:又称为多表查询,当查询的字段来自于多个表时,就会用到连接查询。select 字段名 from 表一,表二...where 表名.连接字段1=表名.连接字段2分类: sql92标准:仅仅支持内连接。 sql99标准:支持内连接+外连接(左外连接和右外连接)+交叉连接 sql99支持的较多,实现连接条件和筛选条件的分离,可读性较高 按功能分类: 内连接:...原创 2019-04-21 22:45:37 · 427 阅读 · 0 评论 -
MySQL笔记及习题(三)--分组函数
3.分组函数作用:用作统计使用,又称为聚合函数或者统计函数或者组函数sum,avg,max,min,count特点:1.sum,avg 一般用于处理数值类型2.max,min,count可以处理任何类型3.以上分组函数都会自动过滤null4.可以实现与distinct组合使用#样例试题select sum(salary) from employees;select TRUNCA...原创 2019-04-21 22:42:38 · 454 阅读 · 0 评论 -
MySQL笔记及习题(二)--常用函数
2.函数年薪select *,(1+IFNULL(commission_pct,0))*12*salary as 年薪 from employees order by 年薪 desc;#函数: #单行函数: --concat:拼接字符串 --substr:截取字符串 select substr('xiaowangwang',5) --upper:变大写 ...原创 2019-04-21 22:37:48 · 649 阅读 · 0 评论 -
MySQL笔记及习题(一)--基本查询
1.基本查询select VERSION() 版本号; #查询当前版本号+起别名select DISTINCT stu_num, stu_age from student; #去重select CONCAT("小","王王"); #字符串拼接select CONCAT(stu_name,stu_age) from student; #将学生表中的姓名和年龄拼接成一个字段模糊查...原创 2019-04-21 22:28:35 · 1144 阅读 · 1 评论 -
MySQL笔记(七)--约束,分页,事务
约束有外键的表是从表列级约束:CREATE TABLE stuinfo( id INT PRIMARY KEY,#主键 stuName VARCHAR(20) NOT NULL UNIQUE,#非空 gender CHAR(1) CHECK(gender='男' OR gender ='女'),#检查(mysql不支持但是不报错(兼容性好)) seat INT UNIQUE,#...原创 2019-04-25 19:28:52 · 271 阅读 · 0 评论