mysql - 将 MySQL 转换为 Postgres

标签 mysql sql ruby-on-rails postgresql

我正在寻求帮助将我的 MySQL 查询转换为在 PostgreSQL 中工作。这是对RoR应用模型的查询。 如有任何帮助,我们将不胜感激。

SELECT * FROM( 
   SELECT @row := @row + 1 AS rownum, id, device_id, name, quarterly 
   FROM (SELECT @row :=0) r, recurrent_tests 
   WHERE device_id = "+self.id.to_s+" AND quarterly = 1
   ORDER BY name ASC
) ranked 
WHERE (rownum-1) % 4 = "+(i-1).to_s)

最佳答案

select *
from (
   select row_number() over (order by name asc) as rownum,
          id, 
          device_id, 
          name,
          quarterly
   from recurrent_tests
) t
where rownum - 1 % 4 = ...

有关窗口函数(over (...) 子句)的更多详细信息,请参阅手册:
http://www.postgresql.org/docs/current/static/tutorial-window.html

关于mysql - 将 MySQL 转换为 Postgres,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16023413/

相关文章:

merge - 是否可以合并来自两个 MySQL 服务器的转储?

mysql - 更新存储过程中的表更新所有行

ruby-on-rails - Rswag 和 Rspec : Undefined method for URL parameter

mysql - 将本地系统上的 csv 文件加载到远程 Web 服务器上的 Mysql DB

Python TypeError - MySQL executemany

mysql - 我可以在 MySQL 5 的 SQL 查询中使用多少个绑定(bind)变量?

sql - 在 postgresql 中删除/选择层次结构数据

mysql - 在此查询中使用 SQL UNION 的替代方法?

ruby-on-rails - Instagram gem 和法拉第

ruby-on-rails - 如何从 url 中删除随机多余的斜杠?