数据量大,也是有助于查找问题的。
来源:互联网 发布:广联达预算软件官网 编辑:程序博客网 时间:2024/05/01 23:22
数据量大,不可否认管理和维护起来难度都会有所增加。但是我们应该看到另一个好的方面,数据量大了,也是有助于查找问题的。下面是论坛里一个朋友发帖子问的问题:
现有一张表 表名tabel1
KHMC PZM GX SL
AA A-01 S1 2
AA A-01 S3 1
AA A-01 S1 4
AA A-01 S3 1
AA A-01 S1 8
AA A-01 S3 5
BB B-01 S1 4
BB B-01 S2 2
BB B-01 S1 9
BB B-01 S2 4
BB B-01 S1 4
BB B-01 S2 2
请帮忙写 汇总要求格式 按 KHMC PZM 汇总 GX要全部显示出来 没有的现实0
KHMC PZM GX SL
AA A-01 S1 14
AA A-01 S2 0
AA A-01 S3 7
BB B-01 S1 17
BB B-01 S2 8
BB B-01 S3 0
我看到一个朋友的回帖,内容如下:
select a.khmc,a.pzm,a.gx,nvl(num,0) from
(select * from (select distinct khmc,pzm from tabel1) a,(select distinct gx from tabel1) b) a,
(select khmc,pzm,gx,sum(sl) num from tabel1 group by khmc,pzm,gx) b
where a.khmc = b.khmc(+) and a.pzm = b.pzm(+) and a.gx = b.gx(+)
order by 1,2,3;
我一开始没仔细看,不明白上面第二行红色的那句话的作用。就自己做了下实验:
这样看起来好像结果没什么不同哦,可后来我又仔细看了下上面的SQL语句,又看了下楼主的要求里有这么一句话"GX要全部显示出来 没有的现实0 ”。就加了点数据,又试了试,果然就试出来问题了
看到了吧,BB中没有显示出S3相应的记录。
这也就是前面标注出红色那部分我一开始没看明白语句的作用
select a.khmc,a.pzm,a.gx,nvl(num,0) from
(select * from (select distinct khmc,pzm from tabel1) a,(select distinct gx from tabel1) b) a,
(select khmc,pzm,gx,sum(sl) num from tabel1 group by khmc,pzm,gx) b
where a.khmc = b.khmc(+) and a.pzm = b.pzm(+) and a.gx = b.gx(+)
order by 1,2,3;
通过第二句在两个select语句中选取出了khmc,pzm和gx,如果一起选的话,就不会有
BB B-01 S3 0
这条记录了。
而where条件中的(+)作用就显而易见了,外连接,即便BB中不存在相应S3的记录,也要拼接出一条来,通过NVL把SL字段置为0就可以了。
- 数据量大,也是有助于查找问题的。
- 查找大数据量的错误
- 大数据量处理的问题
- 大数据量导出的问题
- 处理数据量大的问题
- TCP send 发送大数据量的问题
- 大数据量Top K问题的求解
- 大数据量处理问题的小结
- 关于大数据量的数据库设计问题
- WCF传输数据量大的问题
- 并发问题:大数据量的访问
- 并发问题:大数据量的访问
- Java大数据量导出Excel的问题
- mysql大数据量的分页查询问题
- 大数据量问题
- 大数据量问题分析
- 大数据量的处理
- 大数据量的算法
- Adobe photoshop 9A0-094 考试内容
- The basic concept about process and thread
- 微软SerialPort秘籍[SerialPort为什么死锁程序的分析]
- 测试驱动开发
- 在地图上添加一个marker(标记),并注册事件
- 数据量大,也是有助于查找问题的。
- 比一个整数大的最小的质数-java
- 步进电机相关知识
- Dwight Eisenhower's wallpaper
- 在C#中使用SerialPort类实现串口通信
- FPGA-核nios全面接触
- 信号量,PV操作题目。
- 解决SQL Server 1069错误:登录失败
- 二叉排序树的建立-java