J'ai une requête:mysql: compter le nombre de valeurs dans chaque groupe
SELECT
count(session_id_open) as opens,
count(session_id_visit) as visits,
date_intervals_open,
group_concat(date_intervals_visit)
FROM
bla
GROUP BY date_intervals_open
Je me le tableau suivant. Ce dont j'ai besoin, c'est de trouver le pourcentage des occurrences de chaque valeur apparaissant dans group_concat. Donc, en gros, je dois compter le nombre de valeurs (date_intervals_visit) dans chaque groupe (data_intervals_open)
opens visits date_intervals_open group_concat
213 5 day (12-16) evening (17-21),evening (17-21),day (12-16),day (12-16),day (12-16)
113 0 evening (17-21) NULL
11 0 late evening (22-00) NULL
396 12 morning (5-11) morning (5-11),morning (5-11),morning (5-11),morning (5-11),morning (5-11),morning (5-11),morning (5-11),morning (5-11),morning (5-11),morning (5-11),morning (5-11),morning (5-11)
9 0 night (1-4) NULL
C'est à peu près le tableau que je dois obtenir. en soirée First record a 40 parce que "le soir (17-21)" apparaît deux fois et le nombre de toutes les occurrences est 5. 2/5 * 100 = 40
opens visits date_intervals_open evening(17-21) day(12-16) morning (5-11)
213 5 day (12-16) 40 60 0
113 0 evening (17-21) NULL NULL NULL
11 0 late evening (22-00) NULL NULL NULL
396 12 morning (5-11) 0 0 100
9 0 night (1-4) NULL
PS: je group_concat juste pour visualiser la valeur que j'ai là. Je n'ai pas besoin de l'utiliser car ce sera un effort supplémentaire pour l'analyser ensuite.
S'il vous plaît fournir SHOW CREATE TABLE bla' et quelques rangées de données d'échantillon. C'est comme si vous dépendiez des valeurs NULL en faisant 'count (session_id_visit)'. Cela semble étrange. –