Bonjour,
Un peu coincé à cause des capacités limitées de mon cerveau et de mon serveur, je cherche à faire quelque chose d'assez simple , mettons la table suivante,
Je cherche à récupérer pour chaque DATA, les autres data les plus récurrent par ID.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 ID | DATA 0 | A 0 | B 0 | C 2 | A 2 | C 4 | A 4 | B 4 | B 5 | A 5 | B 6 | C
Par exemple je veux savoir lequel entre C et B apparaît le plus souvent quand A apparait pour chaque ID
(etape1) Je me suis donc dit de commencer par compter le nombre de B et de C pour chaque ID qui a une DATA = A au moins une fois :
Ainsi on peut avoir
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 ID contenant A | COUNT(B) | COUNT(C) 0 | 1 | 1 2 | 0 | 1 4 | 2 | 0 5 | 1 | 0
Au final l'objectif est d'avoir les N data les plus "recurente" pour chaque autre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 DATA | SUM(COUNT(B)) | SUM(COUNT(C)) A | 4 | 2
Dans notre cas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4Data | 1stMostWiewData | 2ndMostWiewData A | B | C B | A |C C | A | B
Mais je bloque à la premiere étape
Je l'ai fait avec beaucoup de php et peu de mysql, du coup c'est pas du tout performant et atomise mon serveur.
Comment arriver à faire ça uniquement en mysql ?
J'ai juste aucune idée de comment afficher plusieurs count sur une ligne avec un même group by ...
Merci infiniment d'avance pour tout début de piste :/
Partager