Ich erstelle eine Abfrage, um (für die letzten 7 Tage) die tägliche Anzahl der Benutzer Follower in SQL Server zu erhalten. Ich habe diese Abfrage geschrieben, aber die erwartete Ausgabe wird nicht zurückgegeben. Momentan gibt es die Zählung zurück, aber es sind keine korrekten Daten.Erhalten Sie tägliche Benutzer Follower zählen mit Datum in den letzten 7 Tagen in SQL Server?
Hier ist meine Abfrage und bitte sagen Sie mir, wo mein Fehler ist. Ich habe 2 Tabellen in der Datenbank, 1. ist user
und 2. ist userfollowers
.
SELECT
CAST(DATEADD(DAY, T.i, GETDATE()) AS DATE) AS DateColumn,
uf.TotalCount
FROM
(VALUES (0), (-1), (-2), (-3), (-4), (-5), (-6)) AS T(i)
OUTER APPLY
(SELECT
COUNT(UF.InsertDateTime) AS TotalCount
FROM
userfollowers UF
INNER JOIN
user U on U.UserId = UF.UserFollowerId
WHERE
DATEDIFF(DAY, UF.InsertDateTime, DATEADD(DAY, T.i, GETDATE())) = 0
AND UF.IsFollowed = 1
AND U.IsMUser = 1 OR U.IsFUser = 1) uf
Erwartete Ausgabe:
DateColumn | Count
10-05-2017 8
09-05-2017 05
08-05-2017 20
07-05-2017 10
06-05-2017 30
05-05-2017 50
04-05-2017 50
Diese Beispieldaten aus meiner Datenbanktabellen ist:
UFID | UserId | UserFolloresId | IsFollowres | InsertDateTime
1 1110 100 1 2017-05-10 11:26:27.500
2 1120 100 1 2017-05-10 11:26:27.500
3 1130 100 1 2017-05-10 11:26:27.500
4 1200 100 1 2017-05-10 11:26:27.500
5 1110 101 1 2017-05-10 11:26:27.500
6 1120 101 1 2017-05-10 11:26:27.500
7 1130 101 1 2017-05-10 11:26:27.500
8 1200 101 1 2017-05-10 11:26:27.500
Diese Daten zeigen, diese Abfrage mit i 8 Zahl erhalten möchten, aber ich bin immer 0. so weiß ich nicht, wo ist mein Fehler jemand weiß, lass es mich wissen.
immer Fehler falsche Syntax in der Nähe von '='. so was – coderwill