J'ai deux requêtes Mysql concernant le nombre d'utilisateurs:COUNT DISTINCT GROUP BY
premier serait comme:
SELECT
date_format(r.dataZalozenia,'%Y-%m') as rok_miesiac,
count(distinct r.idUsera) as liczba_buyers
FROM
rezerwacje r
WHERE
r.dataZalozenia >= '2017-01-01'
and r.status = 'zabookowana'
GROUP BY
1
Et les résultats dans:
"rok_miesiac" "liczba_buyers"
"2017-01" "12862"
"2017-02" "10208"
"2017-03" "10189"
"2017-04" "10993"
"2017-05" "10705"
La seconde serait :
SELECT DISTINCT
r.idUsera,
count(r.idUsera) as l_reze
FROM
rezerwacje r
WHERE
r.dataZalozenia between '2017-04-01' and '2017-04-30'
and r.status = 'zabookowana'
GROUP BY
r.idUsera
ORDER BY
l_reze DESC
et r Les résultats sont les suivants:
idUsera l_reze
516287 8
2495710 6
2195860 6
645233 5
98308 5
543007 5
1464142 5
3461665 5
3443141 5
3818844 4
2305130 4
etc., c'est-à-dire essentiellement l'id_utilisateur et le nombre de réservations. Je reçois 10768 lignes dans ce cas, c'est-à-dire 10768 user_id distinct (c'est pour avril seulement).
Comment se fait pour la requête du 1er avril renvoie 10993 user_id distinct (je pense) tandis que la deuxième requête renvoie 10768?
Peut-être le nombre d'utilisateurs distincts ne croît pas beaucoup? Les résultats sont parfaitement raisonnables si l'on suppose que seulement 225 utilisateurs ont été ajoutés en dehors d'avril. Cela implique beaucoup de revisits/réutilisation. vous pouvez utiliser les deux requêtes sélectionnez d'abord où n'existe pas en deuxième et si vous obtenez 225, je pense que vous avez votre réponse. – xQbert