2016-12-20 7 views
0

Ich habe eine Datenbank mit Benutzer Logins Datensätze. Vereinfachen Sie es zu diesem: | login_datum | Benutzer-ID |SQL Wie Benutzeranzahl erhöhen Tag für Tag

Ich möchte einzigartige Benutzer erhöhen erhöhen. Das Ergebnis wird eine wachsende Anzahl von Unique Usern sein. Mit anderen Worten. Es muss eine Anzahl von einzelnen Benutzern Tag für Tag zählen und vergleichen, ob es eine eindeutige user_id in Bezug auf das Set von einem vorherigen Tag gibt. Wenn ja, muss es zu der Menge hinzugefügt werden, wenn nicht, muss es eine Anzahl von Benutzern vom vorherigen Tag neu schreiben. Es wird also ständig eine eindeutige Benutzer-ID hinzugefügt und gezählt.

Hat jemand ähnliches Problem? Ich weiß nicht, wie ich anfangen soll.

+0

sein, dass etwas mit ur Datenbank-Design zu tun hat. speichert Ihre Tabelle die letzte Anmelde- oder Erstellungszeit? wenn es so ist, ist es geradlinig. – Mox

+0

Welches DBMS benutzen Sie? –

+0

Ihre Aussage * Ich habe eine Datenbank * bietet nicht genügend Informationen ... Bitte bearbeiten Sie Ihre Frage und Tag mit RDBMS (Produkt und Version). Bei SQL Server 2012+ könnte das etwas mit 'SUM() OVER()' zu tun haben. – Shnugo

Antwort

0

Sie benötigen group by Klausel zum Beispiel verwenden:

select count(*) from LOGINS group by login_date 

Read more about SQL group by clause


Beachten Sie, dass Sie das Datum Zeit (wie in Format enthalten kann yyyy-mm-dd hh: mi: ss) dann müssen Sie wahrscheinlich einige trunc Methode verwenden, um nur nach Tagen zu gruppieren, nicht durch Sekunden, Minuten oder Stunden.

Diese Funktion ist abhängig von der verwendeten DBMS - zum Beispiel für Oracle wird es TRUNC(date)

+0

ja, das Datumsformat ist JJJJ-MM-TT hh: mi: ss und ich benutze Presto – Nullo