Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql2::错误:操作数应包含1列:_Mysql_Ruby On Rails_Duplicates - Fatal编程技术网

Mysql2::错误:操作数应包含1列:

Mysql2::错误:操作数应包含1列:,mysql,ruby-on-rails,duplicates,Mysql,Ruby On Rails,Duplicates,我正在尝试选择rails控制器中的所有重复属性。我想按街道比较每个酒店的地址,并将结果返回给我,显示在页面上 我所尝试的: @conflicts = Property.where("SELECT street, COUNT(street) FROM properties GROUP BY street HAVING COUNT(street) >1") 这就是我收到的错误: Mysql2::Error: Operand should contain 1 column(s): SELECT

我正在尝试选择rails控制器中的所有重复属性。我想按街道比较每个酒店的地址,并将结果返回给我,显示在页面上

我所尝试的:

@conflicts = Property.where("SELECT street, COUNT(street) FROM properties GROUP BY street HAVING COUNT(street) >1")
这就是我收到的错误:

Mysql2::Error: Operand should contain 1 column(s): SELECT `properties`.* FROM `properties` WHERE (SELECT street, COUNT(street) FROM properties GROUP BY street HAVING COUNT(street) >1)
我知道有许多问题与我的问题类似,但我需要返回整个房地产阵列及其所有信息,不仅仅是街道,也不仅仅是重复数量。谢谢

更新:还尝试了:

@conflicts = Property.where("SELECT street FROM properties GROUP BY street HAVING count(street) > 1")
这给了我:

Mysql2::Error: Subquery returns more than 1 row: SELECT `properties`.* FROM `properties` WHERE (SELECT street FROM properties GROUP BY street HAVING count(street) > 1)
我想要一张这样的桌子

property_id |         street |    state |   zip
          1 | 123 test drive | Arkansas | 12345
          2 | 123 test drive |     Iowa | 45632
          3 | 999 not avenue | Delaware | 55556

它返回属性1和2。

我不知道RoR查询生成器语法,但您需要的原始查询是:

SELECT street, COUNT(*)
FROM properties
GROUP BY street
HAVING COUNT(*) > 1

由于必须删除具有匹配街道名称的类似属性的数据,您希望如何显示整个信息。给我们举一个目标的例子……是的,这正是我的想法!我猜这意味着这是RoR生成器的问题,就像你说的。谢谢不,问题是你写的。您不应该使用
.where()