mysql - SQL - 在一组行中选择全部或全部
问题描述
我有一个表格,其中多个条目按相同的数字分组。这些行中的每一行也都有一个结果。
例子
id 4 | Group 5 | Result 1
id 5 | Group 5 | Result 1
id 6 | Group 6 | Result 0
id 7 | Group 6 | Result 1
我将如何选择所有结果都是相同数字的最高数字组?
换句话说,假设我想获得最高组 where result = 1
; 我不想要第 6 组,因为结果是 0,我也不想要任何早于第 4 组的组,因为所有第 5 组的结果都是 1。
解决方案
有几种不同的方法可以做到这一点。这是一种选择最高group
使用order by
和limit
所有结果都1
使用max
和的方法min
:
select grp
from yourtable
group by grp
having max(result) = 1 and min(result) = 1
order by grp desc
limit 1
推荐阅读
- microsoft-graph-api - GET 事件未返回所有与会者
- reactjs - 'react-loadable' 除了组件的确切路径吗?
- rx-swift - 上下文闭包类型 '(_, _) -> _' 在使用 RxSwift Observable.zip 时需要 2 个参数错误
- oracle - oracle apex 电子邮件和短信验证
- c# - 如何使用打印选项 C# selenium chrome 驱动程序
- reactjs - 带有 Redux 表单的 Ant 设计
- c - HashTable(数组)优化
- sql - 想要只生成一个计算列规范,只需要空格之前的字母
- java - Java & Spring,持久化用户定义的过滤器
- mysql - 如何加速 MySQL 计数查询或让它在后台运行