How to put a raw SQL query in Sequel

2019-03-06 04:19发布

I am trying to convert SQL code to Seqel to run it from my script. How do I convert this:

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

into Sequel? Or, is there a way to pass raw SQL to Sequel? Also the school_districts will be interpolated #{table_name}.

标签: ruby sequel
2条回答
乱世女痞
2楼-- · 2019-03-06 04:43

You can do it a couple ways:

  1. Use []:

    DB["your sql string"]
    
  2. Use fetch:

    DB.fetch("your sql string")
    
查看更多
老娘就宠你
3楼-- · 2019-03-06 05:06
DB[:school_districts].select(:code).group_and_count(:code).reverse_order(:count)

is a Sequel way of executing that query. I did not however alias the count column, but I hope you can do with this.

Even though working in Sequel is preferable as it allows you to change DBMs without changing your code I would prefer you use the fetch method.

查看更多
登录 后发表回答