Dies ist ein klassisches Problem, wie man Upvote/Downvote, Plus/Minus, Like/Dislike und so weiter einordnet. Es gibt einige mögliche Lösungen, aber sie können unter bestimmten Bedingungen zu falschen Ergebnissen führen.
Ich empfehle dringend, die Reihenfolge wie in How Not To Sort By Average Rating
Beispielcode (Sie können ihn leicht an Ihre Bedürfnisse anpassen):
SELECT id, ((positive + 1.9208) / (positive + negative) -
1.96 * SQRT((positive * negative) / (positive + negative) + 0.9604) /
(positive + negative)) / (1 + 3.8416 / (positive + negative))
AS ci_lower_bound
FROM your_tab
WHERE positive + negative > 0
ORDER BY ci_lower_bound DESC;