mysql知识【持续更新】

1、临时表的联表查询

在sql查询中,经常碰到问题是一次查询select无法完成所有想要的数据。这时候可以划分成查询多次生成多个临时表,再联表处理。例如,我们有个初始表:

现在我们要根据开始时间t1和结束时间t2,生成一张表。


其中,service_type 表示列表,count表示这个列表的总量,increment表示在t1,t2这时间段指定类别的量。这个结果没法一次select完成,因为,全量count和增量increment无法同时在一次select完成。我们的核心思想是查两次生成两张表后,联结表。sql语句如下:

select table_a.service_type, table_a.count, table_b.increment from (select service_type, count(*) as count from qq_mds_tran_log  group by service_type) table_a, (select service_type,count(*) as increment from qq_mds_tran_log where statis_date > '20160810' and statis_date<'20160815' group by service_type) table_b where table_a.service_type = table_b.service_type;

语句select service_type, count(*) as count from qq_mds_tran_log  group by service_type;用于生成表table_a; 

语句select service_type,count(*) as increment from qq_mds_tran_log where statis_date > '20160810' and statis_date<'20160815' group by service_type;用于生成表table_b;


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,779评论 18 399
  • SQL SELECT 语句 一、查询SQL SELECT 语法 (1)SELECT 列名称 FROM 表名称 (2...
    有钱且幸福阅读 5,748评论 0 33
  • 一. Java基础部分.................................................
    wy_sure阅读 3,839评论 0 11
  • DataBase-MySQL-PGSQL rm -f *.backup pg_dump -h localhost ...
    燕京博士阅读 446评论 0 0
  • 随笔一个月了,时间匆匆,像天空飘过的云朵,不留痕迹。一个月本该是漫长的,但是在行文记录路中,便随风而散,匆匆的到来...
    闹憨憨阅读 333评论 0 1