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

Tildel pladser i vurderingen (MySQL, PHP)

Mens Andrew G. Johnson har ret, behøver du muligvis ikke engang at gemme disse oplysninger i databasen.

Det svar, jeg har til dig, er enkelt:"Hvorfor vil du gemme dette i databasen?"

Hvis du faktisk har en god grund, så har du et par valg baseret på, hvor statisk dataene er. Hvis dataene er oprettet og derefter indsat alle på én gang, så ORDER BY rating_score DESC i slutningen af ​​din erklæring skal gøre det (hvis rating_place tildeles automatisk fra 1).

Ellers ville jeg gøre noget på en dedikeret PHP-side, der, når dine 2 kolonner er læst, tildeler rating_place. Hvis du manuelt indtaster data i din database, skulle det ikke skade at skulle åbne siden. Hvis dataindsamlingen er automatiseret, skal du gå videre og ringe til "update_places_page", der opdaterer vurderingen.

Rediger:

En anden mulighed er blot at oprette en visning for rating_score, der tager de 20 bedste og bestiller omarrangerer dem, og vælg derefter fra den nye visning og den faktiske tabel baseret på rating_score.



  1. Ret "FEJL:hver INTERSECT-forespørgsel skal have det samme antal kolonner" i PostgreSQL

  2. Valg af datoformater for aggregerede beregninger fra databasen med Django

  3. JSON_KEYS() – Returner nøglerne fra et JSON-objekt i MySQL

  4. Kan ikke oprette forbindelse til Mysql-serveren; Kan ikke oprette/skrive pid-filen