C'est le problème classique de savoir comment classer les votes positifs/négatifs, plus/moins, comme/n'aimant pas et ainsi de suite. Il existe quelques solutions possibles, mais elles peuvent donner un mauvais résultat dans des conditions spécifiques.
Je recommande fortement de lire et d'utiliser la commande comme dans How Not To Sort By Average Rating
Exemple de code (vous pouvez facilement l'adapter à vos besoins) :
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;