使用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语句,比如淘宝下单时,我们确认付款时要对自己银行账户的表里 ...
随机推荐
- (杭电 2045)不容易系列之(3)—— LELE的RPG难题
不容易系列之(3)-- LELE的RPG难题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Othe ...
- 版本控制工具(上)——Git的基本使用
一.Git简介 git是什么? Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理.[2] Git 是 Linus Torvalds 为了帮助管理 Linux 内 ...
- shiro实战整合
引入依赖(包括缓存等): <!-- SECURITY begin --> <dependency> <groupId>org.apache.shiro</gr ...
- 20155222 2016-2017-2 《Java程序设计》第9周学习总结
20155222 2016-2017-2 <Java程序设计>第9周学习总结 教材学习内容总结 JDBC是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,开发人员使用JDBC的标 ...
- 20155236 《Java程序设计》实验二实验报告
20155236 <Java程序设计>实验一(Java开发环境的熟悉)实验报告 一.实验内容及步骤 实验内容 1.初步掌握单元测试和TDD 2.理解并掌握面向对象三要素:封装.继承.多态 ...
- 20155304 2016-2017-2 《Java程序设计》第十周学习总结
20155304 2016-2017-2 <Java程序设计>第十周学习总结 教材学习内容总结 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是 ...
- 20145209 2016-2017-2 《Java程序设计》课堂实践内容
20145209 2016-2017-2 <Java程序设计>课堂实践内容 一.递归 题目详情: public class TestArgs{ public static void mai ...
- mysql导入报错【The MySQL server is running with the --event-scheduler=DISABLED】
一.问题: 在进行mysql操作导入库的时候,报出了[The MySQL server is running with the --event-scheduler=DISABLED] 查看后台日志是事 ...
- BZOJ054_移动玩具_KEY
题目传送门 这道题我写IDA*写挂了,TLE+WA,只AC了两个点. 这道题标算BFS+状态压缩. code: /******************************************* ...
- idea热部署时 编写Controller会接收不到参数
因为我是热部署启动服务器后才编写的request和getparameter 所以可能接收不到 重启一下服务器即可