Mysql
 sql >> Base de données >  >> RDS >> Mysql

Attribuer des places dans la notation (MySQL, PHP)

Bien qu'Andrew G. Johnson ait raison, vous n'aurez peut-être même pas besoin de stocker ces informations dans la base de données.

La réponse que j'ai pour vous est simple :"Pourquoi voulez-vous stocker cela dans la base de données ?"

Si vous avez réellement une bonne raison, vous avez plusieurs choix en fonction de la statique des données. Si les données sont créées puis insérées en une seule fois, alors ORDER BY rating_score DESC à la fin de votre déclaration devrait le faire (si rating_place est attribué automatiquement à partir de 1).

Sinon, je ferais quelque chose dans une page PHP dédiée qui, une fois vos 2 colonnes lues, attribue le rating_place. Si vous entrez manuellement des données dans votre base de données, cela ne devrait pas vous faire de mal d'avoir à ouvrir la page. Si la collecte de données est automatisée, continuez et lancez un appel à la "update_places_page" qui met à jour la note.

Modifier :

Une autre option consiste simplement à créer une vue pour rating_score qui prend les 20 premiers et les ordonne, puis les réorganise, puis sélectionne à partir de la nouvelle vue et du tableau réel en fonction de rating_score.