SQL查询以查找多列中具有相同值的行

时间:2018-05-29 16:26:17

标签: mysql sql

我想在我的表中找到在同一行中上有重复值的行

示例:

id   column_1    column_2    column_3
1    123            44           100
2    555            555          555
3    101            396          100
4    99             99           99
5    123            44           100

我需要一个返回第2行和第2行的查询4.到目前为止,我只发现了类似标题的问题,这些问题涉及查找在多列中具有相同值的行,例如返回1&那个我正在寻找的东西:)

2 个答案:

答案 0 :(得分:1)

这是您的查询:

SELECT * FROM your_table WHERE column_1 = column_2 AND column_2 = column_3

答案 1 :(得分:1)

Substraction 可用于三列:

select *
  from mytable
 where ( column_1 - column_2  =  column_3 - column_2 )
   and column_1 = column_2
order by 1;

至少最佳功能可以一起使用:

select *
  from mytable    
 where greatest(column_1,column_2,column_3) = least(column_1,column_2,column_3)
order by 1;

SQL Fiddle Demo