![](https://img-blog.csdnimg.cn/8535e28bc644470d8df2319307b382b5.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
SQL
文章平均质量分 51
数据分析的那一套工作。MySQL、HiveSQL
统计小白er
向往: 读书, 音乐, 咖啡, 骑行, 敲代码, 听雨. 善待流浪的生命!
展开
-
[SQL挖掘机] - SQL挖掘机系列整体规划
SQL - [SQL挖掘机]系列整体规划原创 2023-07-21 09:36:25 · 307 阅读 · 0 评论 -
SQL - limit
limit 是限制的意思, 用于限制返回的查询结果的行数(可以通过limit指定查询多少行数据).MySQL支持limit语法, 用来完成分页.原创 2023-08-09 07:29:36 · 836 阅读 · 0 评论 -
[SQL挖掘机] - 索引
当你在数据库中进行查询时,索引是一种用于提高查询性能的重要工具。索引是对表中的一列或多列进行排序的数据结构,它可以快速定位到满足特定条件的记录,从而减少了查询所需的时间和资源。为表添加索引时,需要根据查询的需求和数据的特点进行选择。索引是一种优化数据库查询性能的重要工具。通过选择合适的列和索引类型,并进行适当的维护,可以显著提高查询的效率和响应时间。但需要注意的是,过多或不正确使用索引可能会导致性能下降,因此需要慎重考虑索引的创建和维护。原创 2023-08-01 20:39:01 · 391 阅读 · 0 评论 -
[SQL挖掘机] - 预处理声明
预处理语句是一种在执行sql语句之前对sql进行预编译的机制,它可以提高数据库查询的性能和安全性。预处理语句允许你将参数化的sql语句发送到数据库服务器,然后在稍后的时间点绑定实际的参数值并执行。最后,我们使用 execute 语句执行预处理语句,并使用 using 子句将参数 @id 绑定到预处理语句中的占位符。在上述示例中,我们首先使用 prepare 语句创建了一个名为 stmt 的预处理语句,其中的?在这里我们设置id为1。使用预处理语句的主要目的是避免sql注入攻击,并提高重复执行的查询性能。原创 2023-08-01 20:38:26 · 429 阅读 · 0 评论 -
[SQL挖掘机] - 存储过程
当你在sql中需要多次执行相同的一组sql语句时,存储过程是一个非常有用的工具。它是一段预先定义好的sql代码块,可以被命名并保存在数据库中,以便重复使用。存储过程可以包含多个sql语句、逻辑流程、条件判断和循环等,可以完成复杂的数据库操作。通俗地说,存储过程就像是一个自定义的函数或脚本,可以接受输入参数,并返回结果。原创 2023-08-01 20:37:42 · 799 阅读 · 0 评论 -
[SQL挖掘机] - 窗口函数 - 合计: with rollup
在sql中,with rollup 是一种用于在查询结果中生成小计和总计的选项。它可以与 group by 子句一起使用,用于在分组查询的结果中添加附加行。with rollup 的作用是为每个指定的分组列生成小计,并在最后添加一行总计。这样,我们可以方便地获取每个分组的小计以及整体的总计。原创 2023-08-01 19:23:34 · 770 阅读 · 0 评论 -
[SQL挖掘机] - 窗口函数 - 合计: rollup
rollup 是一种用于在 sql 查询中生成聚合数据的特殊操作。它可以创建包含子总计和总计的结果集,并可用于生成层次化报表或汇总数据。rollup 操作在 group by 子句中使用,可以在查询结果中生成多级汇总数据。它会根据指定的列进行分组,并生成按照不同层级进行汇总的结果。原创 2023-08-01 19:22:05 · 476 阅读 · 0 评论 -
[SQL挖掘机] - 窗口函数 - 计算移动平均
在窗口函数使用时,计算的是累积到当前行的所有的数据的相关操作。实际上,还可以指定更加详细的汇总范围。该汇总范围称为 框架 (frame)。其实这里也可以理解成一个窗口, 这个窗口是我们可以进行设置的.之前我们介绍的窗口函数是根据进行分组, 然后根据order by进行排序, 最后根据两者的一个结果输出对应的窗口函数的对应结果, 比如求和, 排序等. 也就是说, 目前的窗口就是该分组内从该组最开始的数据到计算的当前行的数据.原创 2023-08-01 19:17:02 · 1058 阅读 · 0 评论 -
[SQL挖掘机] - 窗口函数 - lag
lag() 是一种常用的窗口函数,它用于获取某一行之前的行的值。它可以用来在结果集中的当前行之前访问指定列的值。原创 2023-08-01 16:16:14 · 1197 阅读 · 0 评论 -
[SQL挖掘机] - 窗口函数 - lead
lead() 是一种常用的窗口函数,它用于获取某一行之后的行的值。它可以用来在结果集中的当前行后面访问指定列的值。原创 2023-08-01 10:40:06 · 821 阅读 · 0 评论 -
[SQL挖掘机] - 窗口函数 - 聚合函数类
在 sql 中,sum、count、avg等函数是常见的聚合函数,它们用于计算结果集中某个列的总和、计数和平均值。而使用这些聚合函数作为窗口函数时,它们会对窗口内的行进行计算,并返回结果作为每一行的一个列。这些聚合类窗口函数可以根据具体需求在结果集内进行灵活的计算。count():计算指定列的行数(非空行)。这将计算每个日期分区内的销售额总和。这将计算每个月份分区内的最高销售额。avg():计算指定列的平均值。max():计算指定列的最大值。min():计算指定列的最小值。sum():计算指定列的总和。原创 2023-07-31 10:51:23 · 346 阅读 · 0 评论 -
[SQL挖掘机] - 窗口函数 - 排序类的区别
在sql中,有三种常用的排序类窗口函数,它们分别是rank()、dense_rank()和row_number()。这些函数用于根据指定的排序规则在结果集中为每一行分配一个排名。rank()函数:rank()函数根据指定的排序规则为每一行分配一个排名,如果有相同的值,则会跳过下一个排名。也就是说,如果有两个行具有相同的排序值,并且排名为1,则下一个排名将会是3。因此,rank()函数可能会产生不连续的排名。原创 2023-07-31 10:50:41 · 855 阅读 · 0 评论 -
[SQL挖掘机] - 窗口函数 - row_number
介绍:row_number() 是一种常用的窗口函数,它为结果集中的每一行分配一个唯一的数字。这个数字的分配基于指定的排序顺序,并且不会跳过相同的排名。用法:row_number() 函数的语法如下:row_number() over ([partition by 列名1, 列名2, ... order by 列名 [asc|desc], ...])在这个语法中,partition by 可选,表示按照指定的列或表达式对结果集进行分区。每个分区都会生成一个独立的行号序列,使得行号在每个分区内唯一原创 2023-07-31 10:40:00 · 413 阅读 · 0 评论 -
[SQL挖掘机] - 窗口函数 - dense_rank
dense_rank() 是一种常用的窗口函数,它为结果集中的每一行分配一个密集排名(dense rank)。这个密集排名基于指定的排序顺序,并且在遇到相同的值时,不会跳过排名。原创 2023-07-31 10:39:02 · 538 阅读 · 0 评论 -
[SQL挖掘机] - 窗口函数 - rank
rank() 是一种常用的窗口函数,它为结果集中的每一行分配一个排名(rank)。这个排名基于指定的排序顺序,并且在遇到相同的值时,会跳过相同的排名。原创 2023-07-29 20:27:22 · 540 阅读 · 0 评论 -
[SQL挖掘机] - 窗口函数介绍
窗口函数也称为 OLAP 函数。OLAP 是 OnLine AnalyticalProcessing 的简称,意思是对数据库数据进行实时分析处理。窗口函数是一种用于执行聚合计算和排序操作的功能强大的sql函数。它们可以在查询结果集中创建一个窗口(window),并在该窗口上进行计算,而不影响结果集的整体。窗口函数通常与over子句一起使用,以定义窗口的范围。over子句可以指定窗口的排序方式、分区方式和边界等。为了便于理解,称之为 窗口函数。原创 2023-07-28 22:38:43 · 478 阅读 · 0 评论 -
[SQL挖掘机] - 字符串函数 - substring
substring函数是在mysql中用于提取字符串的一种函数。它接受一个字符串作为输入,并返回从该字符串中指定位置开始的一部分子串。substring函数可以用于获取字符串中的特定字符或子串,以便进行进一步的处理或分析。原创 2023-07-28 07:43:03 · 831 阅读 · 0 评论 -
[SQL挖掘机] - union/union all 使用注意事项
要注意以上事项,以确保查询结果正确合并并符合预期。根据实际需求,选择合适的操作符来合并结果集。原创 2023-07-27 21:29:58 · 1131 阅读 · 0 评论 -
[SQL挖掘机] - 多表连接: union all
sql中的union all是用于合并两个或多个select语句的结果集的操作符。与union不同的是,union all不会自动去除重复的行,它会简单地将多个查询的结果集合并在一起,包括重复的行。原创 2023-07-27 21:29:15 · 1188 阅读 · 0 评论 -
[SQL挖掘机] - 多表连接: union
sql中的union是用于合并两个或多个select语句的结果集的操作符。它将多个查询的结果合并成一个结果集,并自动去除重复的行。请注意,union操作要求被合并的查询返回相同数量和类型的列。原创 2023-07-27 21:28:40 · 1703 阅读 · 0 评论 -
[SQL挖掘机] - 全连接: full join
在sql中,join是将多个表中的数据按照一定条件进行关联的操作。全连接(full join)是一种连接类型,它会返回所有满足连接条件的行,同时还包括那些在左表和右表中没有匹配行的数据。在进行全连接时,会将左表和右表中的所有行进行组合,不管它们是否有匹配的条件。如果左表的某行在右表中没有匹配的行,那么右表的这部分数据将以null值显示。注意:MySQL不支持全连接, 可以通过 union all 进行实现相同的效果.原创 2023-07-27 18:57:24 · 3631 阅读 · 0 评论 -
[SQL挖掘机] - 交叉连接: cross join
交叉连接是一种多表连接方式,它返回两个表的笛卡尔积,即将一个表的每一行与另一个表的每一行进行组合。换句话说,交叉连接会生成一个包含所有可能组合的结果集。交叉连接的工作原理如下:它会将左表的每一行与右表的每一行进行组合,并返回结果集。结果集的行数等于左表的行数乘以右表的行数。原创 2023-07-27 18:47:22 · 1052 阅读 · 0 评论 -
[SQL挖掘机] - 右连接: right join
右连接是一种多表连接方式,它以右侧的表为基础,并返回满足连接条件的匹配行以及右侧表中的所有行,即使左侧的表中没有匹配的行。右连接将右表的每一行与左表进行比较,并根据连接条件返回结果集。其实, 左连接和右连接原理一致, 只是主表在哪一边的区别.右连接的工作原理类似于左连接,只是方向相反。它会首先选择右表中的每一行,然后与左表进行比较。如果存在匹配的行,则返回连接结果,包括左表和右表中的列数据。如果左表中没有与右表匹配的行,则返回空值或null。原创 2023-07-27 18:46:30 · 742 阅读 · 0 评论 -
[SQL挖掘机] - 左连接: left join
左连接是一种多表连接方式,它以左侧的表为基础,并返回满足连接条件的匹配行以及左侧表中的所有行,即使右侧的表中没有匹配的行。左连接将左表的每一行与右表进行比较,并根据连接条件返回结果集。左连接的工作原理如下:它会首先选择左表中的每一行,然后与右表进行比较。如果存在匹配的行,则返回连接结果,包括左表和右表中的列数据。如果右表中没有与左表匹配的行,则返回空值或null。原创 2023-07-27 18:34:16 · 829 阅读 · 0 评论 -
[SQL挖掘机] - 内连接: inner join
内连接是一种多表连接方式,用于将两个或多个表中的数据通过共同的列值进行匹配,并返回满足连接条件的匹配行。原创 2023-07-27 17:36:07 · 780 阅读 · 0 评论 -
[SQL挖掘机] - 多表连接
在 SQL 中,多表连接是指将多个表根据某些条件进行联接,以获取相关联的数据。这允许您跨多个表进行查询,并且根据表之间的关系获取所需的结果。原创 2023-07-27 16:39:00 · 671 阅读 · 0 评论 -
[SQL挖掘机] - 字符串函数 - replace
replace函数是mysql中的一个字符串函数,其作用是在给定的字符串中替换指定的子字符串。它接受三个参数:原始字符串、要替换的子字符串以及替换后的字符串,并返回一个新的字符串。使用replace函数可以帮助我们在字符串处理中进行文本替换和修改。原创 2023-07-27 09:03:10 · 236 阅读 · 0 评论 -
[SQL挖掘机] - 日期函数 - current_date
current_date函数时,它通常被用来获取当前的日期。它返回一个表示当前日期的日期值。需要注意的是,current_date函数返回的日期值不包含时间部分,仅包含年、月、日。current_date函数没有任何参数,因此只需简单地调用它即可获得系统当前日期。这将返回当前日期,例如:“2023-07-26”。原创 2023-07-27 07:47:58 · 1262 阅读 · 0 评论 -
[SQL挖掘机] - 转换机制
通常, 当处理不同数据类型(如数字)的列时, 可使用仅对一种数据类型(如文本)有效的函数. 当修改某一列的数据类型时, 可简单地采用 column::datatype 格式. 其中, column表示为列名, datatype 表示为将列调整后的数据类型.注意: 并不是每一种数据类型均可转换为特定的数据类型. 例如: datetime类型无法转换为浮点型. 当执行错误的操作转换时, SQL客户端将会抛出一个异常.一种较为有用的数据转换机制是在查询中修改列的数据类型.原创 2023-07-26 19:42:00 · 581 阅读 · 0 评论 -
[SQL挖掘机] - 字符串函数 - upper
upper函数是mysql中的一个字符串函数,其作用是将给定的字符串转换为大写形式。它接受一个字符串作为参数,并返回一个新的字符串,其中所有的字母字符均被转换为大写形式。原创 2023-07-26 19:36:52 · 775 阅读 · 0 评论 -
[SQL挖掘机] - 字符串函数 - lower
lower函数是mysql中的一个字符串函数,其作用是将给定的字符串转换为小写形式。它接受一个字符串作为参数,并返回一个新的字符串,其中所有的字母字符均被转换为小写形式。使用lower函数可以帮助我们在字符串处理中实现标准化和规范化。原创 2023-07-26 19:11:40 · 1030 阅读 · 0 评论 -
[SQL挖掘机] - 字符串函数 - length
length函数是mysql中用于获取字符串长度的函数。它接受一个字符串作为参数,并返回该字符串的字符数量(包括空格和特殊字符)。原创 2023-07-26 19:10:08 · 1078 阅读 · 0 评论 -
[SQL挖掘机] - 字符串函数 - concat
concat函数用于连接字符串的函数。它接受多个字符串作为参数,并将它们按顺序连接起来形成一个新的字符串。原创 2023-07-26 18:29:30 · 773 阅读 · 0 评论 -
[SQL挖掘机] - 算术函数 - floor
floor函数用于向下取整。它接受一个数字作为参数,并返回不大于该数字的最大整数。原创 2023-07-26 18:28:03 · 480 阅读 · 0 评论 -
[SQL挖掘机] - 算术函数 - ceiling
ceiling函数用于向上取整。它接受一个数字作为参数,并返回不小于该数字的最小整数。原创 2023-07-26 15:26:53 · 215 阅读 · 0 评论 -
[SQL挖掘机] - 算术函数 - sqrt
当谈到 SQL 中的 sqrt 函数时,它用于计算一个数值的平方根。原创 2023-07-26 07:24:36 · 917 阅读 · 0 评论 -
[SQL挖掘机] - 算术函数 - round
当谈到 SQL 中的 round 函数时,它用于将一个数值四舍五入到指定的小数位数。原创 2023-07-26 07:23:55 · 322 阅读 · 0 评论 -
[SQL挖掘机] - 算术函数 - mod
当谈到 SQL 中的 mod 函数时,它是一个用于计算两个数值相除后的余数的函数。“mod” 是 “modulo” 的缩写,它表示取模运算。原创 2023-07-26 07:23:23 · 1047 阅读 · 0 评论 -
[SQL挖掘机] - 算术函数 - abs
当谈到 SQL 中的 abs 函数时,它是一个用于计算数值的绝对值的函数。“abs” 代表 “absolute”(绝对),因此 abs 函数的作用是返回一个给定数值的非负值(即该数值的绝对值)。abs 函数接受一个参数,该参数可以是任何数值类型(整数、小数等),并返回该数值的绝对值。原创 2023-07-25 22:42:05 · 1000 阅读 · 0 评论 -
[SQL挖掘机] - 常见函数
sql 自带了各种各样的函数,极大提高了 sql 语言的便利性。原创 2023-07-25 21:45:07 · 366 阅读 · 0 评论