Je crois que vous voulez SELECT COUNT(DISTINCT customer_number)
Essayez cette requête
SELECT COUNT(DISTINCT customer_number)
FROM leads
WHERE (dealer_id = '75'
OR dealer_id = '76'
OR dealer_id = '77'
OR dealer_id = '78'
OR dealer_id = '70'
OR dealer_id = '2692'
OR dealer_id = '2693')
AND date BETWEEN '2013-04-01' AND '2013-04-06'
AND customer_number NOT IN (SELECT customer_number
FROM leads
WHERE date < '2013-04-01')
Modifier nous allons mettre en place votre cahier des charges plus attentivement.
Tout d'abord, exclure tous les clients ayant des prospects périmés chez un concessionnaire. «Stale» signifie avant le premier avril. Deuxièmement, incluez tous les clients à une certaine liste de concessionnaires avec des prospects générés entre la toute première seconde du 1er avril et la toute première seconde du 6 avril. Notez que cela exclut la quasi-totalité du 6 avril si votre colonne date
est réellement un horodatage.
Enfin compter les clients uniques. Cela semblerait appeler tous les nouveaux clients vus dans une plage de dates particulière chez certains concessionnaires.
Comment allez-vous résoudre ce problème? Pourquoi ne pas utiliser les deux ensembles de critères séparément?
SELECT customer_number
FROM leads
WHERE customer_number NOT IN (SELECT customer_number
FROM leads
WHERE date < '2013-04-01')
Avez-vous la liste des clients que vous désirez (ceux à inclure)?
Ensuite, essayez ce
SELECT customer_number
FROM leads
WHERE (dealer_id = '75'
OR dealer_id = '76'
OR dealer_id = '77'
OR dealer_id = '78'
OR dealer_id = '70'
OR dealer_id = '2692'
OR dealer_id = '2693')
AND date BETWEEN '2013-04-01' AND '2013-04-06'
Ou, mieux encore pour la performance et la correspondance date-heure précise, ceci:
SELECT customer_number
FROM leads
WHERE dealer_id IN ('75','76', '77', '78','70','2692','2693')
AND date >= '2013-04-01'
AND date < '2013-04-06'+ INTERVAL 1 DAY
ces résultats Inspectez. Vous pouvez trouver votre problème.
peut-être vous obtenez zéro parce que vous n'avez pas les clients qui satisfont à ces conditions? – akonsu
De même, 'DISTINCT COUNT (customer_number)' doit être remplacé par COUNT (DISTINCT customer_number) '. Mais comme le dit @akonsu, cela n'explique pas pourquoi vous voyez 0 lignes. – PinnyM
ne voulez-vous pas dire «SELECT Count (distinct customer_number)»? – davek