gpt4 book ai didi

ruby-on-rails - 通过 Rails 3 中的唯一列值选择所有列

转载 作者:数据小太阳 更新时间:2023-10-29 07:21:03 25 4
gpt4 key购买 nike

在 Rails 3 中,我如何根据唯一列值选择行,我需要获取所有列,例如:

SELECT COUNT(DISTINCT date) FROM records

这只返回日期列,但我想要所有列(名称、日期、年龄、创建时间)列而不仅仅是日期。

谢谢你的帮助

最佳答案

这里的问题是,根据定义,同一日期可能有多个记录。它需要用户空间中的逻辑来确定要使用具有唯一日期的多个记录中的哪一个。下面是获取这些行的一些代码:

Record.select("distinct date").each do |record|
records = Record.find_by_date record.date
puts records.count # do something with the records
end

如果您真正想要的是多列之间的唯一性,请列出不同查询中的所有相关列:

Record.select("distinct date, name, age, created_at").each do |record|
puts record.date
puts record.name
puts record.age
puts record.created_at
# ``record'' still represents multiple possible records
end

您使用不同的事实意味着返回的每个“行”实际上代表 n 行,因此数据库不知道要提取 n 行中的哪一行其余列来自。这就是为什么它只返回在 distinct 中使用的列的原因。它无能为力...

关于ruby-on-rails - 通过 Rails 3 中的唯一列值选择所有列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10324165/

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