0

我正在寻求帮助将我的 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)
4

1 回答 1

2
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

于 2013-04-15T19:39:45.563 回答