我有帖子表和通知表。我希望通知表中的帖子评分为999999,而不是他们的orijinal分数。以下查询给出了图片中的结果。红色通过通知加入工会,其余来自帖子。正如你所看到的那样,即使他们是工会化的蓝调也是重复的,因为得分不同<%= link_to "Contracts", [@space,@contract], class: "btn btn-primary" %>
并不将它们视为重复。如何将它们视为重复项,只允许红色项。
@space
和@contract
给出的结果相同,因为我更改了联合通知部分的对象得分值。我尝试了@space = Space.find(params[:space_id])
@contract = Contract.find(params[:id])
,但它不允许对得分进行排序,UNION
对其进行排序错误。
UNION
是否有办法UNION ALL
只允许复制DISTINCT ON (id)
列?
答案 0 :(得分:2)
您可以使用CTE:
with CTE as ( your query without order by )
Select id, created_at, data, max(score) as score
from cte
Group by id, create_at, data
Order by ...