J'essaie d'obtenir le nombre d'IDs en utilisant certaines conditions.Mysql Count Distinct avec la clause Where
Ceci est ma requête initiale:
SELECT
COUNT(DISTINCT (id))
FROM
my_table
WHERE
app_id = 1
AND zone_id != 1
AND presence_time_secs > 20
AND initial_timestamp BETWEEN '2017-05-02 00:00:00' AND '2017-05-05 00:00:00'
group by
day(initial_timestamp)
Donc mon problème est que ne reçoit pas la partie zone_id!=1
.
Il y a quelques valeurs quand je fais la même requête en utilisant zone_id=1
, mais si dans la première requête je prends le zone_id!=1
il retournera exactement les mêmes valeurs.
Qu'est-ce que je fais mal?
(J'ai également essayé d'utiliser NOT IN, même résultat).
Merci d'avance!
Peut-être que le nombre 'zone_id! = 1' est le même que' compter zone_id = 1'. – Blank
Mais ... le zone_id! = 1 devrait enlever les résultats des autres zones correctes? –
Essayez de compter sans 'AND zone_id! = 1' et voyez le résultat. Je pense que vous devriez interroger tout le résultat sans agrégation pour confirmer si les données sont correctes ou non. – Blank