文档章节

满足性匹配(数据库中out的实现)

pangdaTv
 pangdaTv
发布于 2016/04/26 15:23
字数 168
阅读 2
收藏 0
CREATE TABLE `table_b` (
  `A_NO` int(11) DEFAULT NULL,
  `B_NO` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

原始表如上

查询筛选sql语句如下

SELECT TMP_B.A_NO
  FROM (SELECT A_NO, COUNT(*) AS A_COUNT FROM TABLE_B GROUP BY A_NO) TMP_B,
       (SELECT A_NO, COUNT(*) AS P_COUNT
          FROM TABLE_B
         WHERE B_NO IN ('1', '2', '3')
         GROUP BY A_NO) TMP_C
 WHERE TMP_B.A_NO = TMP_C.A_NO
   AND TMP_B.A_COUNT = TMP_C.P_COUNT

思路

1、首先查找出每项业务需要的证件数

SELECT A_NO, COUNT(*) AS A_COUNT FROM TABLE_B GROUP BY A_NO

2,查找出现在提供的证件匹配上的业务 和匹配的证件数

SELECT A_NO, COUNT(*) AS P_COUNT
          FROM TABLE_B
         WHERE B_NO IN ('1', '2')
         GROUP BY A_NO

3、比较1和2的每项业务的证件数是否相等

 

© 著作权归作者所有

pangdaTv
粉丝 3
博文 63
码字总数 2263
作品 0
成都
程序员
私信 提问
微信公众号开发步骤(缩减版)

使用框架:wx-tools 构建工具:maven 一.项目搭建 maven org.apache.httpcomponents httpclient 4.3.6 org.apache.httpcomponents httpmime 4.3.6 org.codehaus.jackson jackson-mapper-asl 1.......

微信公众号
2017/12/05
0
0
mysql初学笔记1(来自runoob.com)

group by 分组使用 WITH ROLLUP WITH ROLLUP 可以实现在分组统计数据基础上再进行相同的统计(SUM,AVG,COUNT…)。 例如我们将以上的数据表按名字进行分组,再统计每个人登录的次数: mysql>...

houss2012
2017/11/08
0
0
数据库理论知识

SQL语言包括 数据定义:Create Table,Alter Table,Drop Table, Craete/Drop Index等 数据操纵:Select ,insert,update,delete, 数据控制:grant,revoke 完整性约束: 实体完整性、参照完整性...

凡尘里的一根葱
2015/10/02
79
0
SequoiaDB 3.0 正式发布,实现 MySQL 协议级兼容

SequoiaDB巨杉数据库 3.0,在产品GA发布后,经过近半年在金融级场景的测试、上线和稳定运行之后,于近期正式发布。 1. SequoiaDB 3.0 产品定位 SequoiaDB巨杉数据库是一款金融级分布式数据库...

巨杉数据库
2018/05/18
3.1K
8
SequoiaDB 3.0 正式发布,分布式OLTP场景实现MySQL协议级兼容

SequoiaDB巨杉数据库 3.0,在产品GA发布后,经过近半年在金融级场景的测试、上线和稳定运行之后,于近期正式发布。 1. SequoiaDB 3.0 产品定位 SequoiaDB巨杉数据库是一款金融级分布式数据库...

巨杉数据库
2018/05/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

NIO基于长度域的报文在Netty下的解码

1, 先复习一下粘包/拆包 1.1, 粘包/拆包的含义 TCP是个“流”协议, 并不了解上层业务数据的具体含义, 它会根据TCP缓冲区的实际情况进行包的划分,所以在业务上认为,一个完整的包可能会被TCP...

老菜鸟0217
今天
8
0
从零开始搭建spring-cloud(2) ----ribbon

在微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的。Spring cloud有两种服务调用方式,一种是ribbon+restTemplate,另一种是feign。 其实我们已经在上...

Vincent-Duan
今天
19
0
get和post的区别?

doGet:路径传参。效率高,安全性差(get的传送数据量有限制,不能大于2Kb) doPOST:实体传参。效率低,安全性好 建议: 1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Pos...

花无谢
昨天
4
0
当谈论迭代器时,我谈些什么?

当谈论迭代器时,我谈些什么? 花下猫语:之前说过,我对于编程语言跟其它学科的融合非常感兴趣,但我还说漏了一点,就是我对于 Python 跟其它编程语言的对比学习,也很感兴趣。所以,我一直...

豌豆花下猫
昨天
14
0
10天学Python直接做项目,我做了这5件事

初学者如何尽快上手python? 市面上关于如何学python的资料很多,但是讲的都太复杂。 我就是很简单的几句话,从小白到开发工程师,我只做了五件事。 我觉得任何商业计划书如果不能用几句话讲...

Python派森
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部