【问题标题】:How to put a raw SQL query in Sequel如何在 Sequel 中放置原始 SQL 查询
【发布时间】:2016-10-27 21:13:56
【问题描述】:

我正在尝试将 SQL 代码转换为 Seqel 以从我的脚本运行它。如何转换:

select code, count(1) as total 
from school_districts 
group by code order by total desc;

进入续集?或者,有没有办法将原始 SQL 传递给 Sequel? school_districts 也将被插入 #{table_name}

【问题讨论】:

  • 这记录在 Sequel 备忘单中:sequel.jeremyevans.net/rdoc/files/doc/…。也就是说,如果您能提供帮助,使用原始 SQL 不是一个好主意。 ORM 的想法是它允许您编写独立于您正在与之交谈的 DBM 的查询。这让您无需更改代码即可轻松更改为另一个 DBM。
  • 我很想把它作为stackoverflow.com/q/3144813/128421的副本关闭

标签: ruby sequel


【解决方案1】:
DB[:school_districts].select(:code).group_and_count(:code).reverse_order(:count)

是执行该查询的 Sequel 方式。然而,我没有给计数列起别名,但我希望你能做到这一点。

尽管在 Sequel 中工作更可取,因为它允许您在不更改代码的情况下更改 DBM,但我更希望您使用 fetch 方法。

【讨论】:

    【解决方案2】:

    您可以通过以下几种方式做到这一点:

    1. 使用[]:

      DB["your sql string"]
      
    2. 使用fetch:

      DB.fetch("your sql string")
      

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-26
      • 1970-01-01
      • 2018-06-02
      • 2014-12-10
      • 1970-01-01
      • 2021-01-16
      • 2017-04-26
      • 1970-01-01
      相关资源
      最近更新 更多