mysql - SELECT 行在两个字段中具有相同的值,而在另一个字段中具有不同的值

标签 mysql sql

我想选择 column1 中具有相同值的行和column2但不同之处在于 column3 .

这是我的 table 。

<表类=“s-表”> <标题> 第 1 列 第2列 第3列 <正文> 一个 J abc 一个 K 定义 一个 L xyz b J abc b J 定义 b L xyz c K 定义 c K 定义

这是我想要的输出。

<表类=“s-表”> <标题> 第 1 列 第2列 <正文> b J

这是我尝试过的。

SELECT column1, column2
FROM my_table
GROUP BY column1, column2, column3
HAVING COUNT(column1) > 1;

最佳答案

I want to select rows that have the same value in column1 and column2 but differ in column3.

使用存在:

select t.*
from my_table t
where exists (select 1
              from my_table t2
              where t2.column1 = t.column1 and t2.column2 = t.column2 and
                    t2.column3 <> t.column3
             );

不过,您的示例结果表明您只需要 column1/column2 对。如果是这样:

SELECT column1, column2
FROM my_table
GROUP BY column1, column2
HAVING MIN(column3) <> MAX(column3);

您的查询版本仅返回 column1/column2 对,其中 column3 值包含多行。

关于mysql - SELECT 行在两个字段中具有相同的值,而在另一个字段中具有不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67579045/

相关文章:

mysql - 如果不存在则插入 MySql

javascript - 保存后在数据库中输入 ="date"无效值

mysql - 截断 mediawiki

SQL Server - 检查给定的日期+时间是否在两个日期时间变量之间的确切日期+时间

c# - 如何实现标签计数

mysql - 根据其他表中存在的文本值选择行

php - Symfony/查询生成器 : "myEntityAlias.myEntity.id" <- possible?

mysql - 第一个 LEFT JOIN 是否适用于多个 JOIN?

java - 用另一个表中的金额总和减去一个表中的金额总和

mysql - SQL 查询替换通配 rune 本?