Rêquete SQL: nombre d'occurences sur 2 tables
Résolu
jonnefoy
-
jonnefoy -
jonnefoy -
Bonjour,
Voici mes 2 tables:
Je voudrais avoir la liste des tags de la table TAGS classer par le nombre d'occurrences de id_tag dans la table TAGS_RELATIONS.
J'ai tenté :
Mais comme vous le devinez (sinon je poserai pas la question :) ) cela ne fonctionne pas.
Si vous avez une idée je vous en remercie par avance.
Bonne journée !
Voici mes 2 tables:
|tags |-id (primary) |-value |-date_ajout
|tags_relation |-id_tag (primary) |-id_news (primary)
Je voudrais avoir la liste des tags de la table TAGS classer par le nombre d'occurrences de id_tag dans la table TAGS_RELATIONS.
J'ai tenté :
SELECT t.*, r.id_tag, COUNT(r.id_tag) as tag_count FROM tags t, tags_relations r WHERE t.id = r.id_tag ORDER BY 'tag_count' desc
Mais comme vous le devinez (sinon je poserai pas la question :) ) cela ne fonctionne pas.
Si vous avez une idée je vous en remercie par avance.
Bonne journée !
A voir également:
- Sql compter le nombre d'occurence d'une valeur
- Nombre de jours entre deux dates excel - Guide
- Nombre facile - Télécharger - Outils professionnels
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Faites afficher avec un fond coloré les cellules qui contiennent une valeur comprise entre 250 et 350. quel nombre est dessiné en surbrillance ? - Forum VB / VBA
- Compter le nombre de oui dans une colonne excel ✓ - Forum Excel
1 réponse
Bonjour,
Il faut utiliser la clause GROUP BY
SELECT t.id, t.value, count(*) as tag_count
FROM tags t
LEFT OUTER JOIN tags_relations r ON t.id = r.id_tag
GROUP BY t.id, t.value
Il y a quelques nuances aussi qui dépendront de ton SGBD, donc si ça ne marche pas dis-nous avec lequel tu travailles.
Xavier
PS : Il y a un forum « Bases de données » qui est plus adapté à ce genre de question :)
Il faut utiliser la clause GROUP BY
SELECT t.id, t.value, count(*) as tag_count
FROM tags t
LEFT OUTER JOIN tags_relations r ON t.id = r.id_tag
GROUP BY t.id, t.value
Il y a quelques nuances aussi qui dépendront de ton SGBD, donc si ça ne marche pas dis-nous avec lequel tu travailles.
Xavier
PS : Il y a un forum « Bases de données » qui est plus adapté à ce genre de question :)
Merci beaucoup Xavier !
Désolé d'avoir posté dans la mauvaise catégorie.
Pour info:
Cette requête est utilisé sous MySQL
La requête finale est :
version Mysql :
Version Active Record (pour codeIgniter) :
Bonne journée !
et encore merci !