Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Atribuir lugares na classificação (MySQL, PHP)


Embora Andrew G. Johnson esteja correto, talvez você nem precise armazenar essas informações no banco de dados.

A resposta que tenho para você é simples:"Por que você quer armazenar isso no banco de dados?"

Se você realmente tiver um bom motivo, terá algumas opções com base em quão estáticos são os dados. Se os dados forem criados e inseridos de uma só vez, então ORDER BY rating_score DESC no final da sua declaração deve fazê-lo (se rating_place for atribuído automaticamente a partir de 1).

Caso contrário, eu faria algo em uma página PHP dedicada que, uma vez que suas 2 colunas fossem lidas, atribuísse o rating_place. Se você inserir dados manualmente em seu banco de dados, não deve doer ter que abrir a página. Se a coleta de dados for automatizada, vá em frente e ligue para a "update_places_page" que atualiza a classificação.

Editar:

Outra opção é apenas criar uma visualização para rating_score que pegue os 20 primeiros e os reordene, então selecione a partir da nova visualização e da tabela real com base em rating_score.