gpt4 book ai didi

sql - PG::InvalidColumnReference: 错误:对于 Ruby on Rails 应用程序中的 SELECT DISTINCT

转载 作者:太空宇宙 更新时间:2023-11-03 16:23:05 32 4
gpt4 key购买 nike

我有一个如下所示的查询:

 Person.where.not(first_name: nil).where.not("lower(first_name)  = ?", 'mike').order('RANDOM()').limit(6).pluck("distinct(lower(first_name))")

当我尝试运行它时,它返回以下错误:

ActiveRecord::StatementInvalid: PG::InvalidColumnReference: ERROR:  for SELECT DISTINCT, ORDER BY expressions must appear in select list
LINE 1: ...AND (NOT (lower(first_name) = 'mike')) ORDER BY RANDOM() L...

我该如何解决这个问题?

最佳答案

Person.where.not(first_name: nil).where.not("lower(first_name)  = ?", 'mike').order('RANDOM()').limit(6).select("lower(first_name)").uniq

因为 pluck 会触发额外的查询,所以你应该使用 select 而不是 pluck

关于sql - PG::InvalidColumnReference: 错误:对于 Ruby on Rails 应用程序中的 SELECT DISTINCT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30567068/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com