Dans Foursquare, l'utilisateur qui a obtenu le meilleur score pour une place au cours des N derniers jours se voit attribuer la mairie de ce lieu.Comment implémenter la fonctionnalité "Mayor" de Foursquare - trouvez l'utilisateur avec le meilleur score au cours des N derniers jours?
Quel est le moyen le plus efficace de mettre en œuvre cela?
Un utilisateur aurait pu vérifier dans des centaines d'endroits. Pour afficher tous les mairies qui appartiennent à un utilisateur, il serait nécessaire de passer en revue toutes ces centaines de places une par une et de vérifier s'il a le meilleur score au cours des 60 derniers jours pour chaque lieu - cela semble très inefficace.
Existe-t-il un code de magie SQL ou algorithmique pouvant exécuter la tâche rapidement?
MISE À JOUR: J'utilise MySQL et Django
Nécessité de fournir la table (s) et leur colonne (s) pour ceux d'entre nous ne connaissent pas le jeu ... Cela semble facile, juste besoin pour savoir s'il y a quelque chose de spécial à propos de la tabulation des scores. Aussi, est-ce que vous (et comment) vous brisez les liens? –