造假数据?安排!

906次阅读
没有评论

共计 671 个字符,预计需要花费 2 分钟才能阅读完成。

1.前言

目前就DBMS而言,Mysql依然盛行,下图展示了今月排名,还是具有一定可信度的

造假数据?安排!

本文就Mysql讲解如何查询不存在的数据—-造假!

2.如何造假

业务中需求满天飞,通常会出现查询报表,数据库有几天是没数据的,但是这几天要返回。乍一听,这不造假吗??!熟悉关系型数据库的童鞋都明白,无论你怎么关联都拿不到这几天数据行,毕竟任何一张表都没有这几行数据,这时候,不要慌。Mysql的公共表达式派上用场了,

A common table expression (CTE) is a named temporary result set that exists within the scope of a single statement and that can be referred to later within that statement, possibly multiple times.

废话少说,

with recursive cte as (
    select date(date_sub(now(),interval dayofmonth(now()) -1 day)) as start_time
    union all
    select date_add(start_time,interval 1 day ) from cte where start_time < last_day(now())
 )
select * from cte;

OK了,一个月的日期已经成为了一张临时表了 造假数据?安排!

造假数据?安排!

接下来我们只需要和业务表做个左关联或者右关联就完事了

3.小结

Mysql的公共表达式使用场景局限,但是也有着一席用武之地,了解更多可以官网阅读。每日一水,你水了吗~~

正文完
 
mysteriousman
版权声明:本站原创文章,由 mysteriousman 2022-04-20发表,共计671字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)