`

工作中用的两条查询语句,LEFT JOIN多张表的

 
阅读更多
----4G手机 left join 三张表
select a.IMSI,
       Mobileid IMEI,
       substr(Mobileid,0, 6) 终端类型,
       上行流量,
       空口时间,
       业务时长,
       IP包数,
       下行流量,
       并发服务数
  from ((select IMSI,
                sum(userullen) / 1024 / 1024 上行流量,
                sum(userdllen) / 1024 / 1024 下行流量,
                sum(timelen) 业务时长,
                sum(packetnumber) IP包数,
                sum(fid) 并发服务数
           from apptypeinfo
          where datetime >=
                to_date('2013-9-2 0:00:00', 'YYYY-MM-DD HH24:MI:SS')
            and datetime <
                to_date('2013-9-3 0:00:00', 'YYYY-MM-DD HH24:MI:SS')
            and 1 = 1 -- 基站查询条件.
            and 2 = 2 -- 业务查询条件.
            and vlanid = 0
            and userid is not null
            and rownum <= 10
          group by imsi
          order by 上行流量 desc) a
          left join
          (select GTPV2MESSAGE.Mobileid, GTPV2MESSAGE.imsi from GTPV2MESSAGE
          where datetime >=
                to_date('2013-9-2 0:00:00', 'YYYY-MM-DD HH24:MI:SS')
            and datetime <
                to_date('2013-9-3 0:00:00', 'YYYY-MM-DD HH24:MI:SS')
           ) b
           on a.imsi = b.imsi
           left join
        (select sum(time_um.delaytime) 空口时间, imsi
           from time_um
          where bdatetime >=
                to_date('2013-9-2 0:00:00', 'YYYY-MM-DD HH24:MI:SS')
            and edatetime <
                to_date('2013-9-3 0:00:00', 'YYYY-MM-DD HH24:MI:SS')
          group by time_um.imsi) c on a.imsi = c.imsi)
order by 上行流量 desc



----mifi终端 left join 2张表
select 所属MIFI,
       MAC地址,
       终端类型,
       上行流量,
       空口时间,
       业务时长,
       IP包数,
       下行流量,
        并发服务数
  from ((select MIFIIP 所属MIFI,
                userid MAC地址,
                mactype 终端类型,
                sum(userullen) / 1024 / 1024 上行流量,
                sum(userdllen) / 1024 / 1024 下行流量,
                sum(timelen) 业务时长,
                sum(packetnumber) IP包数,
                sum(fid) 并发服务数,
                imsi
           from apptypeinfo
          where  datetime >= to_date('2013-9-2 0:00:00','YYYY-MM-DD HH24:MI:SS') and datetime <to_date('2013-9-3 0:00:00','YYYY-MM-DD HH24:MI:SS')
            and 1 = 1 -- 基站查询条件.
            and 2 = 2 -- 业务查询条件.
            and vlanid != 0
            and userid is not null
           and rownum <= 10
          group by imsi, MIFIIP, userid, mactype
           order by  上行流量 desc
          ) a left join
        (select sum(time_um.delaytime) 空口时间, imsi
           from time_um
          where  bdatetime >= to_date('2013-9-2 0:00:00','YYYY-MM-DD HH24:MI:SS') and edatetime <to_date('2013-9-3 0:00:00','YYYY-MM-DD HH24:MI:SS')
          group by time_um.imsi) b on a.imsi = b.imsi)  order by  上行流量  desc
分享到:
评论

相关推荐

    Sql语句用left join解决多表关联问题(关联套关联,例子和源码)

    Sql语句用left join解决多表关联问题(关联套关联,例子和源码)一看就明白多表关联如何写SQl语句

    mysql 开发技巧之JOIN 更新和数据查重/去重

    1 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN(MySQL 不支持)、CROSS JOIN 这是在网上找到的非常好的一篇博文,图解 join 语句: CODING HORROR-A Visual Explanation of SQL Joins 下图可以很清楚的明白,join ...

    详解Mysql多表联合查询效率分析及优化

    1. 多表连接类型 1. 笛卡尔积(交叉连接) 在MySQL中可以为CROSS JOIN或者省略CROSS即JOIN,或者使用’,’ 如: SELECT * FROM table1 CROSS JOIN table2 ...一般使用LEFT [OUTER] JOIN或者RIGHT [OUTER] JOIN  2. 

    经典全面的SQL语句大全

     现在你下定决心要榨干Random 函数的最后一滴油,那么你可能会一次取出多条随机记录或者想采用一定随机范围内的记录。把上面的标准Random 示例扩展一下就可以用SQL应对上面两种情况了。  为了取出几条随机选择的...

    T-SQL高级查询

    --高级查询在数据库中用得是最频繁的,也是应用最广泛的。 Ø 基本常用查询 --select select * from student; --all 查询所有 select all sex from student; --distinct 过滤重复 select distinct sex from ...

    经典SQL语句大全

    1、1=1,1=2的使用,在SQL语句组合时用的较多 “where 1=1” 是表示选择全部 “where 1=2”全部不选, 如: if @strWhere !='' begin set @strSQL = 'select count(*) as Total from [' + @tblName + '] where ' + ...

    数据库操作语句大全(sql)

    1、1=1,1=2的使用,在SQL语句组合时用的较多 “where 1=1” 是表示选择全部 “where 1=2”全部不选, 如: if @strWhere !='' begin set @strSQL = 'select count(*) as Total from [' + @tblName + '] where ' +...

    sql经典语句一部分

    1、1=1,1=2的使用,在SQL语句组合时用的较多 “where 1=1” 是表示选择全部 “where 1=2”全部不选, 如: if @strWhere !='' begin set @strSQL = 'select count(*) as Total from [' + @tblName + '] where ' + ...

    SQL语法大全

    rs.open SQL语句,conn,3,2 3. SQL常用命令使用方法: (1) 数据记录筛选: sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]" sql="select * from 数据表 where 字段名 like \'%字段值%\'...

    mysql数据库的基本操作语法

    外键约束是保证一个或两个表之间的参照完整性,外键是构建于一个表的两个字段或是两个表的两个字段之间的参照关系。 也就是说从表的外键值必须在主表中能找到或者为空。 当主表的记录被从表参照时,主表的记录将不...

    精髓Oralcle讲课笔记

    --99年语法 两张表的连接用cross join 65、select ename, dname from emp, dept where emp.deptno = dept.deptno; -- 92年语法 表连接 + 条件连接 66、select ename, dname from emp join dept on(emp.deptno =...

    SQL培训第一期

    union 会对查询数据进行去重并排序,union all只是简单的将两个结果合并。 1.8.8 wm_concat 1.8.8.1 语法 select wm_concat(t.role_name) from g_role t where t.role_name like '%书记%' 1.8.8.2 说明 拼接字符串,...

Global site tag (gtag.js) - Google Analytics