2010-04-15 8 views
3

J'ai une base de données avec des identifiants vidéo et N mots-clés pour chaque vidéo. J'ai créé une table avec 1 ID vidéo et 1 identifiant de mot clé dans chaque rangée.ordre des mots-clés par fréquence en PHP mySql

Quelle est la manière la plus simple de commander des mots-clés par fréquence? Je veux extraire le nombre de fois qu'un mot-clé est utilisé et les commander.

Est-il possible de faire cela avec sql ou ai-je besoin d'utiliser des tableaux php?

Merci

Répondre

4

Je ne vois pas la nécessité d'une jointure ici. Il suffit de lister tous les mots-clés avec le nombre de fois que le mot-clé apparaît, du plus fréquent au moins fréquent.

SELECT keyword, COUNT(*) freq 
FROM keywordTable 
GROUP BY keyword 
ORDER BY freq DESC 
0

Si je vous comprends bien, vous pouvez essayer

SELECT VideoID, 
     KeyWordID, 
     COUNT(KeyWordID) Total 
FROM VideoKeywords 
GROUP BY VideoID, 
     KeyWordID 
ORDER BY VideoID,Total DESC