首页 > 解决方案 > 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。

标签: mysqlsqlphpmyadmin

解决方案


有几种不同的方法可以做到这一点。这是一种选择最高group使用order bylimit所有结果都1使用max和的方法min

select grp
from yourtable
group by grp
having max(result) = 1 and min(result) = 1
order by grp desc
limit 1

推荐阅读