gpt4 book ai didi

sql - 使用 Rails(ActiveRecord) 查询 2012 年的最后一行 + 2013 年的所有行 + 2014 年的第一行 - 最佳实践

转载 作者:行者123 更新时间:2023-12-04 12:38:24 24 4
gpt4 key购买 nike

我找到了使用以下条件从数据库中获取行的最佳实践解决方案:

2012 年的最后一行
从 2013 年开始的所有行
和 2014 年的第一行

这可以通过 Rails 中的一个查询来解决吗?

我不知道如何通过一个查询来做到这一点,但只使用 3 个查询。

谢谢。

最佳答案

这是一种方法。我并不是说它是最好的或 super 优化的,这取决于您的数据和索引。

@measurements = Measurement.find_by_sql( 
%{select * from measurements
where date_part('year', date) = 2013
or date = (select max(date) from rounds where date_part('year', date) = 2012)
or date = (select min(date) from rounds where date_part('year', date) = 2014)
order by date})

编辑:我看到你正在使用 sqlite,这适用于 Postgres,但应该很容易移植。

关于sql - 使用 Rails(ActiveRecord) 查询 2012 年的最后一行 + 2013 年的所有行 + 2014 年的第一行 - 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23521219/

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