sql >> Database teknologi >  >> RDS >> Mysql

MYSQL sorteres efter like/dislikes og popularitet

Dette er et klassisk problem, hvordan man rangerer op-/nedstemt, plus/minus, kan lide/ikke kan lide og så videre. Der er et par mulige løsninger, men de kan give forkerte resultater under specifikke forhold.

Jeg anbefaler stærkt at læse og bruge bestilling som i How Not To Sort By Average Rating

Eksempelkode (du kan nemt tilpasse den til dine behov):

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;



  1. gnist læse data fra mysql parallelt

  2. SQL server ignorer store og små bogstaver i et where-udtryk

  3. '𠂉' Ikke et gyldigt unicode-tegn, men i unicode-tegnsættet?

  4. MySQL Group By og Sum total værdi af anden kolonne