SQL使用分组依据来选择组,其中组中的所有记录都具有特定值

约瑟夫 :

这是一些示例数据。我正在尝试按OrderID和lineID分组,然后尝试仅对所有记录都为“ YES”的组返回唯一的orderID和lineID。主键是OrderID lineID和positionID的组合

  OrderID        lineID  positionID   fieldOfInterest    somefield1   somefield2 ....
    1A2          10248       1          'YES'               -           -
    1A2          10248       2          'YES'               -           -
    1A2          10248       3          'YES'               -           -
    1A2          10249       2          'YES'               -           -
    1C3          11200       5          'YES'               -           -
    1C3          10250       1          'NO'                -           -
    1V8          10250       7          'YES'               -           -
    1V8          10250       8          'NO'                -           -
    .             .          .           .                  .           .
    .             .          .           .                  .           .
    .             .          .           .                  .           .

我正在寻找的结果将是

  OrderID        lineID  
    1A2          10248       <------ all records (3) had 'YES'
    1A2          10249       <------ all records (1) had 'YES'
    1C3          11200       <------ all records (1) had 'YES'

任何见解将不胜感激。

戈登·利诺夫(Gordon Linoff):

使用汇总:

select OrderID, lineID
from t
group by OrderID, lineID
having min(fieldOfInterest) = max(fieldOfInterest) and min(fieldOfInterest) = 'YES';

实际上,如果值仅是“ YES”和“ NO”,则可以执行以下操作:

having min(fieldOfInterest) = 'YES'

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

SQL 分组依据。为所有组添加具有平均结果的新行

SQL查询:如何选择相关表中所有记录都具有特定属性值的记录

R:按数据集分组,条件是组中特定列中的所有值都符合某些要求

当并非所有节点都具有值时,XSLT组选择

SQL:如何只选择给定组具有所有给定值的组?

SQL-如果所有记录都具有特定值,则仅从子查询中检索记录

Solr-返回组中具有特定值的所有组

根据组中的所有列是否与特定值匹配来汇总列组

LINQ在分组依据中删除具有特定值的项目

如果组的所有值都缺失,则 SQL 填充列

如何编写SQL来选择具有每个组的最大值(值)的行?

sqlite选择所有行,其中某些列在一组可能的值中

oracle SQL:选择不同的值,其中它的所有记录中不包含另一个特定值

如何使用python为表中的每个组选择具有最小值的所有行

在 SQL 中的多行中选择具有或不具有特定条件的组

筛选组中的值,但返回所有其他组的所有值(记录)

选择一组中具有最小值的所有数据框行

MySQL:仅选择仅具有特定值的组

选择具有特定组的帖子 - 子字段值

组中所有记录的SQL设置值

有效更新980K条记录,其中行在组中具有最大值

在dplyr组中,如何选择具有特定值与多个其他值中的一个组合的组

仅选择组中所有元素具有相同值的组

如何在组(SQL)中查找具有最小值和最大值的记录?

Postgresql:按组中的lastet 排序,不考虑组中的其他值并且没有实际的“分组依据”

查找组中具有最大值的记录

选择组中在特定列postgres中具有最大值的行

SQL 从表中选择所有值,其中所有列都填充了数据

熊猫 | 选择组中的所有行和特定列