ruby – 使用续集gem的多个聚合查询

ruby – 使用续集gem的多个聚合查询,第1张

概述是否可以使用续集来执行这样的查询: select (select count(*) from users where blah = 'blah') as "users", (select count(*) from contacts where blah = 'blah') as "contacts" 我知道我可以使用续集一次执行这些查询,但我想同时执行它们. 您可以在不使用以下内容 是否可以使用续集来执行这样的查询:

select (select count(*) from users where blah = 'blah') as "users",(select count(*) from contacts where blah = 'blah') as "contacts"

我知道我可以使用续集一次执行这些查询,但我想同时执行它们.

解决方法 您可以在不使用以下内容编写原始sql的情况下执行该查询:

dataset = DB.select {[   DB[:users].where(blah: 'blah').select { count('*') }.as(:users),DB[:contacts].where(blah: 'blah').select { count('*') }.as(:contacts) ]}dataset.first# => { users: X,contacts: Y }dataset.sql# => "SELECT (SELECT count('*') FROM \"users\" WHERE (\"blah\" = 'blah')) AS \"users\",#            (SELECT count('*') FROM \"contacts\" WHERE (\"blah\" = 'blah')) AS \"contacts\""
总结

以上是内存溢出为你收集整理的ruby – 使用续集gem的多个聚合查询全部内容,希望文章能够帮你解决ruby – 使用续集gem的多个聚合查询所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1242009.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存