說我想選擇具有特定標籤或與關鍵字匹配的帖子。我可以排列從不同的WHERE子句得到的結果嗎?
select t1.*
from (
select p.*, count(p.id) from plainto_tsquery('hElLo') AS q , post p
left join post_tag pt on pt.post_id = p.id
left join tag t on t.id = pt.tag_id
WHERE (tsv @@ q) or t.id in (2,3)
group by p.id
) as t1
order by count desc, ts_rank_cd(t1.tsv, plainto_tsquery('hElLo')) desc
limit 5;
上面沒有選擇我想要的。在tsv
中,我給出了一個重量和description
的重量。當按count
排序時,現在變得毫無意義,因爲每個條目具有相同的權重。是否有可能做這樣的事情,如果這一行是從t.id in (2,3)
中挑選出來的,他們會先排序,然後排序ts_rank_cd
,或給每個匹配標記'A'權重,標題變成B權重,描述是D?
這似乎是接近我正在尋找,但Postgres的t時問我到組。也是。這將創建dup行 – user1865027
實際上,我們要歸檔的目標存在嚴重錯誤。 Plz嘗試編輯答案。 – ninjarails
你是我的救星!非常感謝。現在我需要努力如何實現這個休眠 – user1865027