Đây là vấn đề kinh điển làm thế nào để xếp hạng upvote / downvote, cộng / trừ, thích / không thích, v.v. Có một số giải pháp khả thi nhưng chúng có thể cho kết quả sai trong các điều kiện cụ thể.
Tôi thực sự khuyên bạn nên đọc và sử dụng cách sắp xếp như trong How Not To Sort By Average Rating
Mã mẫu (bạn có thể dễ dàng điều chỉnh nó theo nhu cầu của mình):
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;