Converting MySQL select to PostgreSQL

前端 未结 3 1157
無奈伤痛
無奈伤痛 2020-12-06 16:49

I have this query which works correctly in MySQL. More background on it here.

SELECT c.*, SUM(ABS(v.vote)) AS score
FROM categories c,items i, votes v
    W         


        
3条回答
  •  时光说笑
    2020-12-06 17:13

    You have to list column names in SELECT which you are grouping in:

    SELECT c.id, c.name, SUM(ABS(v.vote)) AS score
    FROM categories c,items i, votes v
      WHERE c.id = i.category_id
      AND i.id = v.voteable_id
      AND v.created_at > '#{1.week.ago}'
    GROUP BY c.id, c.name
    ORDER BY score DESC LIMIT 8;
    

    "It is not permissible to include column names in a SELECT clause that are not referenced in the GROUP BY clause."

提交回复
热议问题