Lassen Sie mich dies vorwegnehmen mit Ich bin nicht genau sicher, wie man diese Frage in erster Linie stellen, die eine große Behinderung bei der Suche nach einer Antwort war. Als Ergebnis könnte ich eine völlig falsche Terminologie verwenden.Rollen zählt mit TSQL
Ich möchte die Anzahl der einzelnen Benutzer über einen bestimmten Zeitraum mit einem Fenster ermitteln.
Meine Datentabelle hat folgende Spalten: Id, User, RequestedOn, Query wo Anfragen im Laufe der Zeit vom System erfasst werden. Zum Beispiel wird das System innerhalb von acht Stunden von 78 verschiedenen Benutzern 370 verschiedene Male abgefragt.
Ich habe herausgefunden, wie dies durch rohe Gewalt zu tun und zu ignorieren (BF & I), aber wie viele BF & ich nähert, skaliert es nicht wert Bohnen.
In diesen Beispielen beträgt die Fenstergröße für das Zählen 8 Stunden; die Anzahl der verschiedenen Benutzer für einen bestimmten 8-Stunden-Zeitschlitz.
Select '5/28/17 15:00' [StartingFrom], Count(Distinct [UserName]) [Users] From [vwRequests] Where [RequestedOn] >= '5/28/17 15:00' And [RequestedOn] <= '5/28/17 23:00' Union
Select '5/28/17 14:00' [StartingFrom], Count(Distinct [UserName]) [Users] From [vwRequests] Where [RequestedOn] >= '5/28/17 14:00' And [RequestedOn] <= '5/28/17 22:00' Union
Select '5/28/17 13:00' [StartingFrom], Count(Distinct [UserName]) [Users] From [vwRequests] Where [RequestedOn] >= '5/28/17 13:00' And [RequestedOn] <= '5/28/17 21:00' Union
Select '5/28/17 12:00' [StartingFrom], Count(Distinct [UserName]) [Users] From [vwRequests] Where [RequestedOn] >= '5/28/17 12:00' And [RequestedOn] <= '5/28/17 20:00' Union
Select '5/28/17 11:00' [StartingFrom], Count(Distinct [UserName]) [Users] From [vwRequests] Where [RequestedOn] >= '5/28/17 11:00' And [RequestedOn] <= '5/28/17 19:00' Union
Select '5/28/17 10:00' [StartingFrom], Count(Distinct [UserName]) [Users] From [vwRequests] Where [RequestedOn] >= '5/28/17 10:00' And [RequestedOn] <= '5/28/17 18:00' Union
Select '5/28/17 09:00' [StartingFrom], Count(Distinct [UserName]) [Users] From [vwRequests] Where [RequestedOn] >= '5/28/17 09:00' And [RequestedOn] <= '5/28/17 17:00' Union
Select '5/28/17 08:00' [StartingFrom], Count(Distinct [UserName]) [Users] From [vwRequests] Where [RequestedOn] >= '5/28/17 08:00' And [RequestedOn] <= '5/28/17 16:00'
ich dort Figur hat doch ein besserer Weg, dies zu tun, aber ich weiß nicht, wo sogar Beginn der Suche.
Zeiger wären fantastisch!
Können Sie einige Beispieldaten und erwartete Ausgabe zur Verfügung stellen? – tarheel