使用union all 遇到的问题(俩条sql语句行数的和 不等于union all 后的 行数的和 !);遗留问题 怎么找到 相差的呐俩条数据 ?
create table buyer as
SELECT b.id AS bankid
FROM v_product_deal_main m, base_member b
WHERE b.id = m.BUYERID
AND m.DEALDATE <= to_date('', 'yyyymmdd')
AND m.STATE = 9
AND b.state = 0;
---441947
--seller方
create table seller as SELECT * FROM seller ;
create table seller as
SELECT b.id AS bankid
FROM v_product_deal_main m, base_member b
WHERE b.id = m.sellerid
AND m.DEALDATE <= to_date('', 'yyyymmdd')
AND m.STATE = 9
AND b.state = 0; create TABLE ttt as
SELECT aa,bankid
FROM (SELECT 1 aa,
m.BUYERID AS bankid
FROM v_product_deal_main m, base_member b
WHERE b.id = m.BUYERID
AND m.DEALDATE <= to_date('', 'yyyymmdd')
AND m.STATE = 9
AND b.state = 0
UNION ALL
SELECT 2 AS aa,
m.sellerID AS bankid
FROM v_product_deal_main m, base_member b
WHERE b.id = m.sellerid
AND m.DEALDATE <= to_date('', 'yyyymmdd')
AND m.STATE = 9
AND b.state = 0);
--从下面可以看到 seller 表中的行数+ buyer 表中的行数 < ttt表中的行数 ;
SELECT COUNT(1) FROM seller ; --
SELECT COUNT(1) FROM buyer ; --
SELECT COUNT(1) FROM ttt ; ---883894
-- bankid=1 在buyer表中出现的次数 15191 + (seller表中出现的次数)11457= (ttt 表中出现的次数)30382 ;(seller + buyer)= 26648
--4378 +5859 =8756 10237 --bankid =2 出现的次数
SELECT 4378 +5859 FROM dual ;
SELECT b.bankid ,COUNT(b.bankid) FROM buyer b GROUP BY b.bankid ORDER BY b.bankid ;
SELECT s.bankid ,COUNT(s.bankid) FROM seller s GROUP BY s.bankid ORDER BY s.bankid ;
SELECT t.bankid ,COUNT(t.bankid) FROM ttt t GROUP BY t.bankid ORDER BY t.bankid SELECT SUM(DECODE(t.aa ,1 ,bankid,0 )) buyer ,
SUM( DECODE(t.aa ,2 ,bankid,0 )) seller
FROM ttt t ; SELECT SUM(DECODE(t.aa ,1 ,1,0 )) buyer ,
SUM( DECODE(t.aa ,2 ,1,0 )) seller
FROM ttt t ; --
SELECT bankid, count(1) from ttt
where aa=2
MINUS
--
Select bankid ,Count(1) From seller ; SELECT bankid from ttt
where aa=2
MINUS
--
Select bankid From seller ;
SELECT COUNT(1) from ttt -------------------------------
--1765 --441947
select bankid,count(1) from ttt
where aa=2
group by bankid
order by bankid ; --1465 --441945
Select bankid,Count(1) From seller
group by bankid
order by bankid
; SELECT t.bankid FROM ttt t WHERE t.aa =1 SELECT t.bankid FROM ttt t WHERE t.aa =2 SELECT SUM(NVL(BUYERID, 0) + NVL(SELLERID, 0))
FROM (SELECT (SELECT 1
FROM BASE_MEMBER B
WHERE B.ID = M.BUYERID
AND B.STATE = 0) AS BUYERID,
(SELECT 1
FROM BASE_MEMBER B
WHERE B.ID = M.SELLERID
AND B.STATE = 0) AS SELLERID
FROM V_PRODUCT_DEAL_MAIN M
WHERE M.DEALDATE <= TO_DATE('', 'yyyymmdd')
AND M.STATE = 9)
1.遗留问题 怎么找到 相差的呐俩条数据 ?
2. 问题到底出在哪里 ?
使用union all 遇到的问题(俩条sql语句行数的和 不等于union all 后的 行数的和 !);遗留问题 怎么找到 相差的呐俩条数据 ?的更多相关文章
- 一条SQL语句执行得很慢原因有哪些
一条SQL语句执行得很慢,要分两种情况: 1.大多数情况是正常,偶尔很慢 数据库在处理数据忙时候,更新或新增数据都会暂时记录到redo log日志,等空闲时把数据同步到磁盘.假设数据库一直很忙,更新又 ...
- 一条SQL语句求全年平均值
一年有8760个小时!(才这么点...) 有个气候表,存储了当地从1到8760小时的温度数据.现在,要求全年的温度每天平均值. CREATE TABLE #Climate(h INT ,t DECIM ...
- MyBatis7:MyBatis插件及示例----打印每条SQL语句及其执行时间
Plugins 摘一段来自MyBatis官方文档的文字. MyBatis允许你在某一点拦截已映射语句执行的调用.默认情况下,MyBatis允许使用插件来拦截方法调用 Executor(update.q ...
- MyBatis插件及示例----打印每条SQL语句及其执行时间
Plugins 摘一段来自MyBatis官方文档的文字. MyBatis允许你在某一点拦截已映射语句执行的调用.默认情况下,MyBatis允许使用插件来拦截方法调用 Executor(update.q ...
- SQL反模式学习笔记18 减少SQL查询数据,避免使用一条SQL语句解决复杂问题
目标:减少SQL查询数据,避免使用一条SQL语句解决复杂问题 反模式:视图使用一步操作,单个SQL语句解决复杂问题 使用一个查询来获得所有结果的最常见后果就是产生了一个笛卡尔积.导致查询性能降低. 如 ...
- Mysql 一条SQL语句实现批量更新数据,update结合case、when和then的使用案例
如何用一条sql语句实现批量更新?mysql并没有提供直接的方法来实现批量更新,但是可以用点小技巧来实现. 复制代码 代码如下: UPDATE mytable SET myfield = CASE i ...
- 一条Sql语句分组排序并且限制显示的数据条数
如果我想得到这样一个结果集:分组排序,并且每组限定记录集的数量,用一条SQL语句能办到吗? 比如说,我想找出学生期末考试中,每科的前3名,并按成绩排序,只用一条SQL语句,该怎么写? 表[TScore ...
- C#实现执行多条SQl语句,实现数据库事务
C#实现执行多条SQl语句,实现数据库事务 在数据库中使用事务的好处,相信大家都有听过银行存款的交易作为事务的一个例子.事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的 ...
- Spring 中jdbcTemplate 实现执行多条sql语句
说一下Spring框架中使用jdbcTemplate实现多条sql语句的执行: 很多情况下我们需要处理一件事情的时候需要对多个表执行多个sql语句,比如淘宝下单时,我们确认付款时要对自己银行账户的表里 ...
随机推荐
- EOS节点远程代码执行漏洞细节
这是一个缓冲区溢出越界写漏洞 漏洞存在于在 libraries/chain/webassembly/binaryen.cpp文件的78行, Function binaryen_runtime::ins ...
- Python3 图像识别(二)
Infi-chu: http://www.cnblogs.com/Infi-chu/ 以图搜图的使用已经非常广泛了,我现在来介绍一下简单的以图搜图的相关算法及其实践. 一.感知hash算法 感知哈希算 ...
- (数据科学学习手札54)Python中retry的简单用法
一.简介 retry是一个用于错误处理的模块,功能类似try-except,但更加快捷方便,本文就将简单地介绍一下retry的基本用法. 二.基本用法 retry: 作为装饰器进行使用,不传入参数时功 ...
- Pytorch之认识Variable
Tensor是Pytorch的一个完美组件(可以生成高维数组),但是要构建神经网络还是远远不够的,我们需要能够计算图的Tensor,那就是Variable.Variable是对Tensor的一个封装, ...
- Hive中Join的类型和用法
关键字:Hive Join.Hive LEFT|RIGTH|FULL OUTER JOIN.Hive LEFT SEMI JOIN.Hive Cross Join Hive中除了支持和传统数据库中一样 ...
- 20155207第二周myod以及课堂测试
第二周myod以及课堂测试 第二周测试5 题目 1.除了main.c外,其他4个模块(add.c sub.c mul.c div.c)的源代码不想给别人,如何制作一个mymath.so共享库?main ...
- 关于Linux_shell中的管道命令pipe “|”的简单学习和使用
什么是 "|"? |其实是linux shell 中的一个命令:管道命令(pipe) 管道命令操作符是:"|",它仅能处理经由前面一个指令传出的正确输出信息,也 ...
- day4 CSS属性操作
1.CSS属性 基本属性 height, 高度 百分比 width, 宽度 像素,百分比 text-align:ceter, 水平方向居中 line-height, 垂直方向根据标签高度 color. ...
- codevs 5429 多重背包
5429 多重背包 http://codevs.cn/problem/5429 分析: f[i]=g[j-k*siz[i]]+k*val[i]; 发现一个状态d只会更新,d+siz[i],d+2*si ...
- ConfigurationProperties cannot be resolved to a type
pom.xml 中报错之前: <parent> <groupId>org.springframework.boot</groupId> <artifactId ...