Pourrait quelqu’un m’aider à commencer à rédiger une requête qui retournerait les utilisateurs ayant ajouté un tag spécifique à des sujets, ainsi que le nombre de fois où ils l’ont fait au cours d’une période donnée ?
@nixie, avez-vous réussi à écrire cette requête que vous aviez décrite ?
@southpaw cela devrait retourner le résultat correct
-- [params]
-- text :tag_name
SELECT tp.user_id, COUNT(tt.tag_id)
FROM topic_tags tt
INNER JOIN tags t ON t.id = tt.tag_id
INNER JOIN topics tp ON tp.id = tt.topic_id
WHERE t.name = :tag_name
GROUP BY tp.user_id, tt.tag_id
Merci ! Cela semble renvoyer une liste de noms d’utilisateurs et le nombre de sujets créés par chacun d’eux qui sont maintenant étiquetés « outdated ».
J’espère pouvoir voir qui effectue l’étiquetage. Je souhaite lancer un concours d’étiquetage à mes TL3 pour nettoyer certains sujets obsolètes, mais j’ai besoin de pouvoir tenir un score de celui qui effectue le plus d’étiquetages.
Nous avons déjà pu organiser un concours similaire pour « résoudre » des sujets, car marquer un sujet comme résolu est un action_type dans user_actions, mais je ne vois pas les mêmes données disponibles pour l’ajout d’une étiquette à un sujet.
Je pensais qu’il pourrait y avoir un moyen d’être créatif avec la « dernière modification » (l’étiquetage compte-t-il comme une modification ?) pour identifier quel utilisateur a effectué cette action, et peut-être de faire correspondre cet horodatage à l’horodatage « updated » dans topic_tags… mais je suis perdu.