DBIx :: Class从子查询中选择

时间:2018-03-13 12:16:46

标签: sql postgresql dbix-class

我正在尝试使用DBIx :: Class编写以下SQL查询:

SELECT * FROM (SELECT username, DENSE_RANK () OVER (ORDER BY COUNT(username) DESC) FROM myTable GROUP BY username) AS topUsers WHERE username='myUsername';

myTable只包含两行,一行是用户名,另一行代表用户的成就。子查询应该为每个用户分配一个排名,主查询选择myUser的排名。

我在将这个问题转换为DBIx :: Class时遇到了一些问题,所以我希望得到一些帮助!

提前谢谢!

1 个答案:

答案 0 :(得分:0)

您应该将查询定义为视图。参见here

之后,您可以:

$schema->resultset( 'YourView' )->search

这将生成SQL:

select * from ( <your query here> )