Self join-telling in MySQL

Ik probeer zoiets te doen

SELECT `v1`.`date`, COUNT(DISTINCT(`v2`.`id`)) AS `visits` 
FROM `visitor_visits` AS `v1` JOIN `visitor_visits` AS `v2` 
ON (`v1`.`date` = `v2`.`date`) GROUP BY `v1`.`date`, `v2`.`date` 
ORDER BY `v1`.`date

Om verschillende datums te krijgen en een telling van alle andere datums die overeenkomen.

Ik ben er vrij zeker van dat dit de verkeerde vraag is, omdat de datumkolom niet uniek is.

0
wat probeer je te bereiken?
toegevoegd de auteur Dmitry B., de bron
waarom zijn er aanhalingstekens rond uw gealiaste tabel-/veldnamen
toegevoegd de auteur MethodMan, de bron
Heb je dat commando uitgevoerd? Welke resultaten heb je gekregen en welke resultaten heb je nodig? Ik bedoel, laat ons wat voorbeeldgegevens zien. Het helpt ...
toegevoegd de auteur Nonym, de bron

2 antwoord

Wat is mis met:

SELECT v1.date, COUNT(v1.id) AS visits 
FROM visitor_visits AS v1
GROUP BY v1.date
ORDER BY v1.date

?

ps. Ik neem aan dat id de primaire sleutel is (uniek).

2
toegevoegd

Als u per datum naar afzonderlijke bezoekers-ID's kijkt, zou dit dat gewoon moeten zijn

SELECT v1.date,
       COUNT(DISTINCT(v1.id)) as Visitors
   FROM
      visitor_visits AS v1
   group by
      v1.Date
0
toegevoegd