2017-06-19 2 views
0

Ich habe eine Tabelle namens "Benutzer", wo Benutzer registrieren und das Datum der Registrierung als "created_on" gespeichert wird. Ich möchte eine Anfrage schreiben, die anzeigt, wie viele Benutzer sich vom 1. März 2017 bis zum 15. Juni 2017 täglich auf unserer Website registriert haben.Eine Abfrage, um registrierte Benutzer pro Tag in einem Bereich von 3,5 Monaten zu berechnen

Leider kann ich nicht.

Ein Ergebnis, das wie folgt zeigt:

Date   Count 
01-03-2017  232 
02-03-2017  422 
03-03-2017  531 
... 
+0

Teilen Sie Ihre Tabellenstruktur – Rahul

+0

@Rahul im Grunde, was wichtig ist ID, created_on Ich bin mir nicht sicher, der Rest wird relevant sein. – Hossj

Antwort

1
SELECT created_on,COUNT(*) 
FROM users 
WHERE created_on BETWEEN '2017-03-01' AND '2017-06-15' 
GROUP BY DATE(created_on) 

Versuchen obige Abfrage.

Hoffe, das wird Ihnen helfen.

+0

Danke das funktioniert, wenn Sie nur eine kleine Sache ändern: GROUP BY DATE (created_on) Bitte machen Sie diese Änderung und werden Sie als die richtige Antwort setzen. – Hossj

+0

@Hossj Versuchen Sie eine aktualisierte –

2

Dieses Problem ist ein gutes Beispiel für eine Kalender Tabelle würde sich als nützlich erweisen. In der Abfrage unten, gehe ich davon aus, dass es eine Tabelle vorhanden alle Termine vom 1. enthalten März 2017 bis einschließlich 15. Juni 2017. Eine Inline-Form dieser Tabelle in etwa so aussehen würde:

SELECT '2017-03-01' AS Date UNION ALL 
SELECT '2017-03-02' UNION ALL 
-- ... 
SELECT '2017-06-15' 

Angenommen, Sie haben eine Kalender Tabelle, können Sie einfach links in Ihrer aktuellen Tabelle beitreten, um die Zählungen zu erhalten:

SELECT 
    c.Date, COUNT(t.created_on) AS signup_count 
FROM calendar c 
LEFT JOIN yourTable t 
    ON c.Date = t.created_on 
GROUP BY Date 

Beachten Sie, dass eine Kalender-Tabelle hier notwendig sein kann, da könnte es Tage geben, wo niemand angemeldet. In diesem Fall enthält die ursprüngliche Tabelle selbst nicht genügend Informationen, um die erwartete Ausgabe zu generieren.

Verwandte Themen