选择列具有相等值的行的分区

jimangel2001

我有数据分组(column_2),我只想选择每个组(相同column_2值)另一列(column_3)的所有值都相等的行。还有更多没有不同值的列(例如 column_1),但我们不关心它们的值。

例如,对于此表:

| column_1   | column_2 | column_3 |
----------------------------------
|'irrelevant'|    1     |    5     |
|'irrelevant'|    1     |    5     |
|'irrelevant'|    1     |    5     |
|'irrelevant'|    2     |    3     |
|'irrelevant'|    2     |    5     |
|'irrelevant'|    2     |    5     |
|'irrelevant'|    3     |    7     |
|'irrelevant'|    3     |    7     |
|'irrelevant'|    4     |    8     |
|'irrelevant'|    4     |    9     |
|'irrelevant'|    4     |    2     |
|'irrelevant'|    5     |    6     |
|'irrelevant'|    6     |    2     |
|'irrelevant'|    7     |    1     |
|'irrelevant'|    7     |    1     |
|'irrelevant'|    7     |    1     |

我会得到:

| column_1   | column_2 | column_3 |
----------------------------------
|'irrelevant'|    1     |    5     |
|'irrelevant'|    1     |    5     |
|'irrelevant'|    1     |    5     |
|'irrelevant'|    3     |    7     |
|'irrelevant'|    3     |    7     |
|'irrelevant'|    5     |    6     |
|'irrelevant'|    6     |    2     |
|'irrelevant'|    7     |    1     |
|'irrelevant'|    7     |    1     |
|'irrelevant'|    7     |    1     |

这些行被跳过,对于相同的 column_2 值,column_3 在它们之间是不相同的。

穿刺者

您可以使用COUNT(DISTINCT <expr>)来找出每组有多少不同的值。

例如:

select *
from t
where column_2 in (
  select column_2 
  from t 
  group by column_2 
  having count(distinct column_3) = 1
)

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何选择列中具有相等值的行

在laravel查询构建器中选择具有2列相等值的行

SQL查询选择具有2列相等值的行

如何选择列中具有相等值的线并保持此特性

如何删除在Matlab的指定列中矩阵A与矩阵B具有相等值的那些行?

Pandas Dataframe 根据具有相等值的两列删除行

Postgres选择数组具有相等值但没有特定顺序的地方

MySQL“大于”条件有时返回具有相等值的行

列中的相等值

从具有相等值的几个数据框中删除行

熊猫-在迭代中使用具有相等值的行中的值

根據唯一條目拆分具有相等值的行的值

根据不同数据框中的相等值选择行

计算两个指定列中具有相等值的行数

在mysql中找到三个以上具有相等值的列

查询优化以匹配具有相等值的节点

在不同的字段中查找具有相等值的记录?

Javascript:具有明显相等值的断言导致不同

如何合并具有相等值的单元格

在laravel中找到两行通过口才有相等值的列?

Pandas Groupby比较Excel中带有子行的2列中的计数相等值

MySQL-计算具有相等值的行,但仅当名称出现在其他列中时

逐行比较两个不同长度的数据帧,并为每行添加具有相等值的列

如何合并列表中具有相等值的字典并串联不相等的值?

如何编写 Rails SQL 查询以查找所有子项具有相等值的对象

在列表中查找某些属性具有相等值的对象

如何使用 ngrx 和 typescript 连接具有相等值的属性上的列表项

在窗口函数中对具有相等值的行进行计数

在mysql上指定一个最多具有两个相等值的字段