mysql 结果集什么意思_结果集中的mysql“和”逻辑
假设我有一个类似以下的数据集:
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“和”逻辑相关推荐
- mysql数据库集群技术_使用MySQL-Cluster搭建MySQL数据库集群
1.MySQL集群的作用: - 解决访问节点的单点故障 - 数据存储节点的单点故障 - 解决数据存储节点数据备份问题 2.集群: 使用一组服务器提供相同的服务 3.关于MySQL-Cluster: M ...
- mysql数据库集群配置_使用MySQL-Cluster搭建MySQL数据库集群(示例代码)
1.MySQL集群的作用: - 解决访问节点的单点故障 - 数据存储节点的单点故障 - 解决数据存储节点数据备份问题 2.集群: 使用一组服务器提供相同的服务 3.关于MySQL-Cluster: M ...
- 龙果学院mysql分布式集群代码_龙果学院-MySQL大型分布式集群解决方案
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 1 课程概述 2 课程背景 3 纵观大型网站架构发展,总结持久化部分需要应对的问题 4 操作系统安装以及配置 5 在CentOS上通过yum安装mysql ...
- 集群资源分配_推荐一款MySQL日常运维和集群管理的自动化平台--Arkcontrol
概述 今天主要推荐Arkcontrol这个平台,比inception还要强大,目前主要是用在mysql上,如果大家有玩mysql的话,不烦一起来看看吧~ Arkcontrol Arkcontrol是极 ...
- mysql galera集群搭建_搭建mysql_galera数据库集群
1,Mariadb Galera Cluster 集群介绍 Mariadb Galera Cluster 是MySQL高可用性和可扩展的解决方案 Mariadb Galera Cluster 是一套在 ...
- mysql使用已有的数据库_使用SQL操作MySQL数据库
用SHOW显示已有的数据库 句法:SHOW DATABASES [LIKE wild] 如果使用LIKE wild部分,wild字符串可以是一个使用SQL的"%"和"_& ...
- gcc编译器和mysql源码哪个难_源码编译mysql 5.5
http://blog.csdn.net/aidenliu/article/details/6586610 源码编译mysql 5.5+ 安装过程全记录 分类: Mysql 2011-07-05 21 ...
- mysql安装check requirements出错_精心整理的mysql主从监控脚本,值得收藏
概述 分享下最近整理的一个mysql主从监控脚本,仅供参考. 一.邮件配置 1.安装邮件服务 yum -y install sendmail mailx 2.修改配置 # vi /etc/mail.r ...
- mysql单机多实例主从_【转载】MySQL单机多实例安装并配置主从复制
建立这么几个目录: $mkdir -p /home/mysql/mydata/data1/binlog /home/mysql/mydata/data1/relay_log /home/mysql/m ...
最新文章
- 阿里云rds linux平台使用wget 工具下载备份与日志文件
- 三门科目分析信息系统项目管理师如何备考
- 2020-11-30 离散系统自适应控制中的一个关键性引理及证明
- Weird Flecks, But OK
- commons-lang的FastDateFormat性能测试
- Python 中 with 用法详解
- Mysql数据库设计规范之三数据库SQL开发规范
- Numpy——常用的排序函数
- linux编译命令io,Hadoop 用命令行编译URLCat
- Windows Server 2008 Active Directory建置實務(附CD)
- inkscape矢量图_使用Inkscape创建矢量图形的教程
- 计算机添加pdf打印机驱动,win10系统添加pdf打印机的解决方案
- matlab里添加白噪声,转Matlab中添加高斯白噪声
- android2012系统,压倒性份额四核技术 Android系统2012前瞻
- 优课联盟 实境英语 Test for Unit 9
- 国内消防报警主机调试软件
- Vue动态加载ECharts图表数据小结
- 计算机基础考证强化训练范文,计算机基础知识题强化训练.doc
- PXI和PXI Express的比较
- 地图的历史:从古代地图到 GIS
热门文章
- 2018 疯狂微服务之死
- 【潜龙勿用】中国制造业数字化转型大潮下的冷思考
- java替换花括号,用正则表达式替换Java中的大括号{}之间的所有文本
- Linux7/Redhat7/Centos7 安装Oracle 12C_安装Oracle软件_04
- [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause 的问题 MySQL
- 加载程序中数据库账号密码加密策略wallet_04
- (需求实战_03)_shell脚本 sftp协议下载文件
- 实战_06_SpringBoot整合redis-cluster集群版本
- JavaScript-字符串
- 装mysql最后一步没响应_每天14点遭遇惊魂时刻,如何一步一步揪出真凶?