sql >> Base de Datos >  >> RDS >> Mysql

Asignar lugares en la calificación (MySQL, PHP)

Si bien Andrew G. Johnson tiene razón, es posible que ni siquiera necesite almacenar esta información en la base de datos.

La respuesta que tengo para ti es simple:"¿Por qué quieres almacenar esto en la base de datos?"

Si realmente tiene una buena razón, entonces tiene algunas opciones basadas en qué tan estáticos son los datos. Si los datos se crean y luego se insertan todos a la vez, entonces ORDER BY rating_score DESC al final de su declaración debe hacerlo (si rating_place se asigna automáticamente desde 1).

De lo contrario, haría algo en una página PHP dedicada que, una vez que se leen las 2 columnas, asigne el lugar de calificación. Si ingresa datos manualmente en su base de datos, no debería doler tener que abrir la página. Si la recopilación de datos está automatizada, continúe y llame a "update_places_page" que actualiza la clasificación.

Editar:

Otra opción es simplemente crear una vista para rating_score que tome los 20 primeros y los ordene y los reordene, luego seleccione de la nueva vista y la tabla real basada en rating_score.