假设我有一个类似以下的数据集:

table foo

id | employeeType | employeeID

-------------------------

1 | Developer | 1

2 | Developer | 2

3 | Developer | 3

4 | Manager | 1

5 | Manager | 4

6 | Manager | 5

7 | CEO | 1

8 | CEO | 6

我想运行一个查询,该查询将返回所有employeeid(以及employeeTypes),其中所有employeeTypes之间都有一个通用的employee id(即“与”逻辑.只有所有employeeTypes的employeeID都将返回.employeeType= Developer和employeeType =经理,employeeType = CEO).对于上面的数据,示例输出为

result table

id | employeeType | employeeID

-------------------------

1 | Developer | 1

4 | Manager | 1

7 | CEO | 1

当我只有两个员工类型通过自我加入表格时,便能够做到这一点.

select * from foo as fooOne

join foo as fooTwo

on fooOne.employeeID = fooTwo.employeeID

AND

fooOne.employeeType <> fooTwo.employeeType

当“和”逻辑匹配时,该查询返回带有fooTwo值的结果集,但同样,仅适用于两种类型的员工.我的实际用例场景要求我需要能够处理可变数量的employeeType(3、4、5等).

任何对此的想法将不胜感激.

解决方法:

这应该返回所需的行:

SELECT foo.*

FROM

foo

WHERE

employeeID IN (

SELECT employeeID

FROM foo

GROUP BY employeeID

HAVING COUNT(DISTINCT employeeType) =

(SELECT COUNT(DISTINCT employeeType)

FROM foo)

)

内部查询将返回不同员工类型的数量:

(SELECT COUNT(DISTINCT employeeType) FROM foo)

中间查询将返回具有最大雇员类型数量的所有雇员ID:

SELECT employeeID

FROM foo

GROUP BY employeeID

HAVING COUNT(DISTINCT employeeType) =

(SELECT COUNT(DISTINCT employeeType) FROM foo)

并且外部查询将返回整个行.

标签:join,conditional,logical-operators,resultset,mysql

来源: https://codeday.me/bug/20191119/2036509.html

mysql 结果集什么意思_结果集中的mysql“和”逻辑相关推荐

  1. mysql数据库集群技术_使用MySQL-Cluster搭建MySQL数据库集群

    1.MySQL集群的作用: - 解决访问节点的单点故障 - 数据存储节点的单点故障 - 解决数据存储节点数据备份问题 2.集群: 使用一组服务器提供相同的服务 3.关于MySQL-Cluster: M ...

  2. mysql数据库集群配置_使用MySQL-Cluster搭建MySQL数据库集群(示例代码)

    1.MySQL集群的作用: - 解决访问节点的单点故障 - 数据存储节点的单点故障 - 解决数据存储节点数据备份问题 2.集群: 使用一组服务器提供相同的服务 3.关于MySQL-Cluster: M ...

  3. 龙果学院mysql分布式集群代码_龙果学院-MySQL大型分布式集群解决方案

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 1 课程概述 2 课程背景 3 纵观大型网站架构发展,总结持久化部分需要应对的问题 4 操作系统安装以及配置 5 在CentOS上通过yum安装mysql ...

  4. 集群资源分配_推荐一款MySQL日常运维和集群管理的自动化平台--Arkcontrol

    概述 今天主要推荐Arkcontrol这个平台,比inception还要强大,目前主要是用在mysql上,如果大家有玩mysql的话,不烦一起来看看吧~ Arkcontrol Arkcontrol是极 ...

  5. mysql galera集群搭建_搭建mysql_galera数据库集群

    1,Mariadb Galera Cluster 集群介绍 Mariadb Galera Cluster 是MySQL高可用性和可扩展的解决方案 Mariadb Galera Cluster 是一套在 ...

  6. mysql使用已有的数据库_使用SQL操作MySQL数据库

    用SHOW显示已有的数据库 句法:SHOW DATABASES [LIKE wild] 如果使用LIKE wild部分,wild字符串可以是一个使用SQL的"%"和"_& ...

  7. gcc编译器和mysql源码哪个难_源码编译mysql 5.5

    http://blog.csdn.net/aidenliu/article/details/6586610 源码编译mysql 5.5+ 安装过程全记录 分类: Mysql 2011-07-05 21 ...

  8. mysql安装check requirements出错_精心整理的mysql主从监控脚本,值得收藏

    概述 分享下最近整理的一个mysql主从监控脚本,仅供参考. 一.邮件配置 1.安装邮件服务 yum -y install sendmail mailx 2.修改配置 # vi /etc/mail.r ...

  9. mysql单机多实例主从_【转载】MySQL单机多实例安装并配置主从复制

    建立这么几个目录: $mkdir -p /home/mysql/mydata/data1/binlog /home/mysql/mydata/data1/relay_log /home/mysql/m ...

最新文章

  1. 阿里云rds linux平台使用wget 工具下载备份与日志文件
  2. 三门科目分析信息系统项目管理师如何备考
  3. 2020-11-30 离散系统自适应控制中的一个关键性引理及证明
  4. Weird Flecks, But OK
  5. commons-lang的FastDateFormat性能测试
  6. Python 中 with 用法详解
  7. Mysql数据库设计规范之三数据库SQL开发规范
  8. Numpy——常用的排序函数
  9. linux编译命令io,Hadoop 用命令行编译URLCat
  10. Windows Server 2008 Active Directory建置實務(附CD)
  11. inkscape矢量图_使用Inkscape创建矢量图形的教程
  12. 计算机添加pdf打印机驱动,win10系统添加pdf打印机的解决方案
  13. matlab里添加白噪声,转Matlab中添加高斯白噪声
  14. android2012系统,压倒性份额四核技术 Android系统2012前瞻
  15. 优课联盟 实境英语 Test for Unit 9
  16. 国内消防报警主机调试软件
  17. Vue动态加载ECharts图表数据小结
  18. 计算机基础考证强化训练范文,计算机基础知识题强化训练.doc
  19. PXI和PXI Express的比较
  20. 地图的历史:从古代地图到 GIS

热门文章

  1. 2018 疯狂微服务之死
  2. 【潜龙勿用】中国制造业数字化转型大潮下的冷思考
  3. java替换花括号,用正则表达式替换Java中的大括号{}之间的所有文本
  4. Linux7/Redhat7/Centos7 安装Oracle 12C_安装Oracle软件_04
  5. [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause 的问题 MySQL
  6. 加载程序中数据库账号密码加密策略wallet_04
  7. (需求实战_03)_shell脚本 sftp协议下载文件
  8. 实战_06_SpringBoot整合redis-cluster集群版本
  9. JavaScript-字符串
  10. 装mysql最后一步没响应_每天14点遭遇惊魂时刻,如何一步一步揪出真凶?