SQL实现

42 篇文章
13 人订阅

全部文章

白日梦想家

SQL 找出 100 以内的质数

之前我写了一篇文章 SQL 生成斐波那契数列,在原来的基础上,今天就来实现使用 SQL 获取 100 以内的质数。

7440
白日梦想家

删除列中的 NULL 值

今天接到一个群友的需求,有一张表的数据如图 1,他希望能通过 SQL 查询出图 2 的结果。

8130
白日梦想家

SQL 打印一个月的日历

在 MySQL 里面,实现日期的加减可以使用 DATE_ADD(date,INTERVAL expr unit) / DATE_SUB(date,INTERVA...

7130
白日梦想家

如何编写不存在即插入的 SQL

MySQL 已提供了 INSERT IGNORE INTO 、REPLACE INTO、INSERT … ON DUPLICATE KEY UPDATE 等表达...

5020
白日梦想家

模拟 ROW_NUMBER() 函数

MySQL 在 8.0 的版本推出了窗口函数,我们可以很方便地使用 row_number() 函数生成序号。

3520
白日梦想家

SQL 打印全年日历

上文我们实现了“打印一个月日历”的需求,今天在原来的基础实现一个更复杂的需求:打印一年的日历。

7620
白日梦想家

SQL 窗口函数

MYSQL 从 8.0.2 版本起开始支持窗口函数,那么在窗口函数没出来之前,我们要实现类似的功能该怎么做呢?

10220
白日梦想家

MySQL 常用日期、时间函数介绍

MySQL 使用 DATE_FORMAT() 格式化日期,和格式化相关的函数还有 STR_TO_DATE()、TIME_FORMAT() 。

11520
白日梦想家

MySQL 的 Full Join 的实现

截止当前最新版本 8.0.19,MySQL 尚未支持 Full Join(全外连接),但我们可以使用其它方式实现 Full Join 的效果。

8220
白日梦想家

SQL 动态排序

有时候,我们希望依据某些条件逻辑来排序。比如,对于员工表 emp,我们希望按照薪资(sal )从低到高排序。有一个要求,处于管理岗位的职工排在普通员工的后面,即...

10520
白日梦想家

SQL 的执行顺序

了解 SQL 的执行顺序非常有价值,它可以让我们写出语法正确的 SQL,帮助我们简化编写新查询的过程。

10320
白日梦想家

SQL 计算小计和总计

有一个完美的解决方案是使用 GROUP BY 子句的 ROLLUP 扩展。ROLLUP 在分组统计的基础上,再对结果进行相同操作(SUM、AVG、COUNT)的...

8440
白日梦想家

SQL 生成斐波那契数列

你没看错标题,在这篇文章我将会给大家介绍使用 SQL 生成斐波那契数列,并且不需要借助任何物理表。

7820
白日梦想家

如何删除重复数据

当表设计不规范或者应用程序的校验不够严谨时,就容易导致业务表产生重复数据。因此,学会高效地删除重复就显得尤为重要。

9210
白日梦想家

如何删除重复数据(二)

上一篇我们介绍了在有主键的表中删除重复数据,今天就介绍如何删除没有主键的表的重复数据。

9630
白日梦想家

不用 UNION 操作符实现 UNION 的效果

当我们要合并两个表或者多个表的结果时,可使用 UNION ALL 或者 UNION 操作符, UNION 和 UNION ALL 的区别在于前者会对结果集去重...

5920
白日梦想家

SQL 累计求和

今天看到有群友在群里提了这个问题,问题描述见下图。这种需求在做报表统计时经常会遇到,会的人觉得不难,没有接触过可能会被困住,所以我把它拿出来和大家分享。

9050
白日梦想家

SQL 行转列

如果你想熟练写各种统计报表的 SQL,那么行转列是你绕不开的一个点,你必须得掌握它。

9720
白日梦想家

一道初级ETL BI的笔试题

今天收到一个朋友发来的初级ETL BI 的笔试题,我觉得题目蛮有意思的,于是拿出来和大家分享。

8950
白日梦想家

SQL 的递归表达式

MySQL 在 8.0 的版本引入了公共表表达式(Common Table Expressions),简称 CTE。CTE 在一些方面可以简化我们的 SQL 语...

7820

扫码关注云+社区

领取腾讯云代金券