0

このような Rails Active Record ヘルパーを使用して非常に複雑な SQL を記述できるかどうかを知りたいです (数字は後で変数に置き換えられます)。

SELECT 
photographs.id,
(COUNT(distinct comments.id) / 50.0 * 100 * 0.25) + (15 * 0.1) + (COUNT(distinct likes.id) / 100.0 * 100 * 0.05) +(COUNT(distinct likes.id) / COUNT(distinct views.id) * 100 * 0.4) +(COUNT(distinct likes.id) * 2.4  / 100.0  * 0.2) AS FINAL_RANKING
FROM photographs
INNER JOIN comments 
ON photographs.id = comments.photograph_id
INNER JOIN likes 
ON photographs.id = likes.photograph_id
INNER JOIN views 
ON photographs.id = views.photograph_id
GROUP BY photographs.id
ORDER by FINAL_RANKING DESC;

Rails doc で、より単純な例または単純な複数の内部結合を見つけましたが、カウントはありません

4

1 に答える 1