gpt4 book ai didi

ruby-on-rails - 我怎样才能用 Ruby 方式编写这个 MySQL 查询?

转载 作者:行者123 更新时间:2023-12-02 20:42:41 26 4
gpt4 key购买 nike

我有一个有效的 MySQL 查询,当我在 ActiveRecord::Base.connection.execute 中传递它时,它会返回所需的值。我想知道如何以更 Ruby 优化的方式编写它。

我的查询如下:

SELECT SUM(invoiceAmt) AS invoiceTotal,
CONCAT('Q', QUARTER(invoiceDate), '(', YEAR(invoiceDate), ')')
FROM INVOICES
GROUP BY YEAR(invoiceDate), QUARTER(invoiceDate)
ORDER BY YEAR(invoiceDate), QUARTER(invoiceDate)

最佳答案

假设您有一个名为 InvoiceActiveRecord 模型,按照这些思路应该可以实现您想要的功能:

Invoice.select('SUM(invoiceAmt) AS invoiceTotal, QUARTER(invoiceDate) AS q, YEAR(invoiceDate) AS y')
.order('y, q')
.group('y, q')

请注意,我尚未测试该查询。这里的想法是,您可以将经过验证的查询段传递给 #select#order#group。我使用命名别名来简化 ORDERGROUP 段。

关于ruby-on-rails - 我怎样才能用 Ruby 方式编写这个 MySQL 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45606413/

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