SQL
文章平均质量分 70
数据库
珞沫
欲望以提升热忱,毅力以磨平高山。
展开
-
SQL——连续登陆天数、点击次数
数据: 现有用户登录记录表user_log用户id 登录日期userid log_dateu0001 2019-10-10u0001 2019-10-11u0001 2019-10-12u0001 2019-10-14u0001 2019-10-15u0001 2019-10-17u0002 2019-10-20u0002 2019-10-211、 找出连续N天登陆的用户id思路:窗口函数(1)首先按用户登录时间升序排序select userid,login_data,ro原创 2022-04-13 20:41:45 · 7287 阅读 · 2 评论 -
SQL——关键字作为列名的处理方法
今天在刷Leetcode题时,明明语法没有错误(如下),但是一直出错,郁闷select Score,dense_rank() over(order by Score desc) as Rankfrom Scores;想了很久,原来是关键字作为列名时需要加上引号select Score,dense_rank() over(order by Score desc) as 'Rank'from Scores;加上引号就对了附Mysql常用关键字...原创 2021-03-17 17:08:05 · 1696 阅读 · 0 评论 -
一路解决bug——MySQL5.7永久统一编码/字符集为utf8时所出现问题
问题:修改Mysql配置文件后,不但没有解决问题i,反而Mysql也登陆不了,也有可能配置文件出错。Mysql登录不上,Hive也登陆不上解决启动mysql 报错:Bug1——MYSQL之ERROR 2002 (HY000): Can’t connect to local MySQL server through socket '/tmp/mysql.sock’原因:由于我改了mysql配置“/etc/my.cnf”引起的。解决:1、rm -rf /var/lib/mysql/2、启动原创 2021-01-09 10:53:37 · 636 阅读 · 0 评论 -
Mysql插入中文字符报错:ERROR 1366 (HY000): Incorrect string value: ‘\xE6\x9E\x9C\xE5\x86\xBB‘ for column ‘NAM
问题加载含有中文字符的数据到表中出错mysql> CREATE TABLE food( -> id INT(10) PRIMARY KEY AUTO_INCREMENT NOT NULL, -> NAME VARCHAR(20) NOT NULL, -> company VARCHAR(30) NOT NULL, -> price FLOAT, -> produce_time YEAR, ->原创 2021-01-07 20:41:50 · 2000 阅读 · 0 评论 -
SQL函数---Coalesce :处理Null值,返回传入的多个字段(属性)中第一个非空的值
1、语法:coalesce(arg1, arg2,arg3,arg4......);2、用途:将空值替换成其他值,返回第一个非空值\quad \quadCOALESCE是一个函数, (arg1, arg2,arg3,arg4…)依次参考各参数表达式,遇到非null值即停止并返回该值。如果所有的表达式都是空值,最终将返回一个空值。使用COALESCE在于大部分包含空值的表达式最终将返回空值3、例子 (1)coalesce(1, 2,3); --return原创 2020-12-13 16:39:40 · 1511 阅读 · 0 评论 -
SQL中·分页查询——limit关键字用法
分页查询一、什么是分页查询?\quad \quad当我们在京东购物,浏览商品列表的时候,由于数据特别多,一页显示不完,一页一页的进行显示,这就是分页查询二、分页查询语法select * from 表名 limit start,count参数:limit:分页查询关键字start:表示开始行索引,默认是0count:表示查询条数三、案例已知每页显示m条数据,求第n页显示的数据提示: 关键是求每页的开始行索引select * from students limit (n-1)*m,m原创 2020-12-07 12:14:04 · 3647 阅读 · 0 评论 -
SQL——连接字符串常用函数
连接字符串1、concat( )2、concat_ws( )3、group_concat( )\quad \quad在Select数据时,我们往往需要将数据进行连接后进行回显。很多的时候想将多个数据或者多行数据进行输出的时候,需要使用字符串连接函数。在SQL中,常见的字符串连接函数有concat(),group_concat(),concat_ws()。1、concat( )\quad \quad返回结果为连接参数产生的字符串。如有任何一个参数为NULL,则返回值为 NULL。可以有一个或多个参数。原创 2020-12-06 18:24:26 · 15832 阅读 · 1 评论 -
SQL——截取字符串常用函数
截取字符串常用函数1、LEFT ( )2、RIGHT ( )3、SUBSTRING ( )1、LEFT ( )\quad \quad从字符串最左边开始截取即正向截取,返回从字符串左边开始指定个数的字符。语法:LEFT ( character_expression , integer_expression)参数:character_expression:源字符串 ,integer_expression :要截取最左边的字符数eg:select left('SQL_Server',2 )原创 2020-12-06 17:46:51 · 3926 阅读 · 0 评论 -
SQL中UPDATE更新语句、REPLACE()替换函数
更新、替换1、UPDATE2、replace( )1、UPDATE语法:update <表名>set <列名>=<表达式>用法:\quad \quad更改数据表中的数据1、将登记日期更新为“2009-10-10”update productset regist_date='2009-10-10';2、指定条件的UPDATE语句语法:update <表名>set <列名>=<表达式>where<条件&原创 2020-12-02 16:05:16 · 28035 阅读 · 4 评论 -
mysql之 limit和offset的使用
查询表中的第4条和第5条使用limit查询SELECT * from pe_web_site limit 3,2;第一个参数是指从第几条数据开始查询,默认是从0开始,可以省略 。第二个参数是指查询的条数。所有查询的是第3条数据之后的2条数据,也就是第4和第5条。使用offset查询select * from pe_web_site limit 2 offest 3 ;limit之后只能有一个参数,表示从查询几条数据;offset 后面的参数表示跳过几条数据。原创 2020-11-04 18:40:18 · 1157 阅读 · 0 评论 -
SQL Sever 学习笔记十一——窗口函数、GROUPING运算符
SQL 高级处理窗口函数GROUPING运算符窗口函数窗口函数可以进行排序,生成序列号等一般的聚合函数无法实现的高级操作。窗口函数也称为OLAP函数,意思是对数据库数据进行实时分析处理。窗口函数就是为了实现OLAP而添加的标准SQL功能。1、窗口函数语法:其中[]中的内容可以省略<窗口函数> over ([partition by <列清单>] order by <排序用列清单>)PARTITION BY子句在原创 2020-05-28 17:57:54 · 1013 阅读 · 0 评论 -
SQL Sever 学习笔记十——集合运算、联结
集合运算表的加减法联结集合运算就是对满足同一规则的记录进行的加减等四则运算准备工作:创建新表Product2CREATE TABLE Product2(product_id CHAR(4) NOT NULL, product_name VARCHAR(100) NOT NULL, product_type VARCHAR(32) NOT NULL, sale_price INTEGER , purchase_price INTEGER原创 2020-05-28 16:14:15 · 214 阅读 · 0 评论 -
SQL Sever 学习笔记九——函数、谓词、CASE表达式
1. 函数算术函数先创建SampleMath表,用于算术函数的计算create table SampleMath(m numeric(10,3),n integer,p integer);begin transaction;insert into SampleMath(m,n,p) values(500,0,null);insert into SampleMath(m,n,p) values(-180,0,null);insert into SampleMath(m,n,p) value原创 2020-05-27 17:56:54 · 721 阅读 · 0 评论 -
SQL Sever 学习笔记八——视图、子查询
视图定义视图是一张虚拟表,保存的是select语句;从视图中读取数据时,视图会在内部执行该select语句并创建出一张临时表。 优点提高了重用性,简化了用户的操作,就像一个函数。也就是说,重复同一个操作时,只需调用视图,不用再重复写相同的select语句了。视图本质上就是一条SELECT语句,所以当访问视图时,只能访问到所对应的SELECT语句中涉及到的列,对基表中的其它列起到安全和保密的作用,可以限制数据访问。节省存储设备的容量。因为使用视图时并不会将数据保存到存储设备以及其他任何地方。而原创 2020-05-27 10:12:14 · 645 阅读 · 0 评论 -
SQL Sever学习笔记七——对查询结果进行排序——ORDER BY子句
ORDER BY子句使用SELECT语句从表中查询数据时,不保证结果集中的行顺序。 这意味着SQL Server可以返回具有未指定行顺序的结果集。保证结果集中的行已排序的方法是使用ORER BY子句。 以下是ORDER BY子句的语法:1、格式:SELECT <列名1>, <列名2>,...FROM <表名>ORDER BY <排列基准1> ,<排列基准2>,...<ASC | DESC>原创 2020-05-26 21:57:15 · 3287 阅读 · 0 评论 -
SQL Sever 学习笔记六——为聚合结果指定条件—HAVING 子句
HAVING 子句当对分组结果进行过滤时,应使用HAVING 子句HAVING 子句通常与group by子句结合使用1.格式:SELECT <列名1>,<列名2>,...from <表名>group by <列名1>,<列名2>,...having <分组结果所对应的条件>;2.语句执行顺序:执行顺序为from→where→group by→having→select。3.演示:having子句和select一原创 2020-05-26 21:36:17 · 327 阅读 · 0 评论 -
SQL Sever 学习笔记五——过滤,抽取指定条件数据——WHERE子句
WHERE 子句SELECT语句查询表中的数据时,将获得表的所有行,如果仅需其中满足一定条件的几行,可以用where子句过滤数据在WHERE子句中,指定搜索条件以过滤FROM子句返回的行。 WHERE子句仅返回导致搜索条件计算为TRUE的行。搜索条件是逻辑表达式或多个逻辑表达式的组合。 在SQL中,逻辑表达式通常称为谓词。1、格式:SELECT <列名>...FROM <表名WHERE <指定条件>2、功能:选出满足条件的行3、演示:原创 2020-05-26 21:17:44 · 869 阅读 · 0 评论 -
SQL Sever学习笔记一——SQL
SQL1.SQL语句及种类2.SQL的基本书写规则3.表的创建与操作(插入、更新、修改、删除)SQL是为操作数据库而开发的语言1.SQL语句及种类SQL语句可以分为以下三类DDL(Data Definition Language,数据定义语言)用来创建或者删除存储数据用的数据库以及数据库中的表等对象。DDL 包含以下几种指令:CREATE :创建数据库和表等对象DROP : 删除数据库和表等对象ALTER : 修改数据库和表等对象的结构 DML(Data Manipulation L原创 2020-05-26 19:00:51 · 387 阅读 · 1 评论 -
SQL Sever学习笔记四——分组—GROUP BY 子句
分组—GROUP BY子句1.格式:`select <列名1>,<列名2>,...from<表名>group by <列名1>,<列名2>,...;GROUP BY 子句,BY子句中指定的列称为聚合键或分组列2.功能:把表中的记录按照字段分成不同的组3.实例演示:--按照商品种类分组,并统计每组数据行数select product_type,count(*) from Productgroup by product_type;原创 2020-05-26 20:55:34 · 447 阅读 · 0 评论 -
SQL Sever 学习笔记三——聚合查询
聚合查询聚合函数语法聚合函数用于汇总的函数称为聚合函数。常用的汇总函数有:COUNT、SUM、AVG、MAX、MIN聚合函数通常与SELECT语句的GROUP BY子句和HAVING子句一起使用。select子句、having子句以及order by子句中可以包含聚合函数。编号聚合函数描述1AVG()函数AVG()函数用于计算集合中非NULL值的平均值。2CHECKSUM_AGG()函数CHECKSUM_AGG()函数根据一组行计算校验和值。3COUN原创 2020-05-26 20:54:14 · 334 阅读 · 0 评论 -
SQL Sever 学习笔记二——查询基础;算术、比较、逻辑运算符
查询1、查询SQL Sever中已建立好的数据库select * from sysdatabases;2、查看当前使用的数据库中所有表信息use shop--当前使用的数据库select * from sysobjects where type='U'select * from sysobjects where type not in('U','S','SQ','IT','D') --当前使用的数据库中所有表约束exec sp_help Product --查看指定表结构3、查看表中原创 2020-05-26 19:38:43 · 438 阅读 · 0 评论