HI!
Ich habe eine Frage, und zwar habe ich einen Select-Befehl, der mir alle einträge einer tabelle ausgibt, die NICHT innerhalb der letzten Woche eines Monats entstanden sind UND nicht die letzten 3 Einträge eines Users sind.
Jetzt würde ich gerne diese letzte Bedingung ändern, dass die letzten 3 Einträge eines Benutzers an unterschiedlichen Tagen selectiert werden.
Sozusagen wenn ein User an einem Tag 10 Änderungen macht, soll nur die letzte hiervon und 2 weitere von Tagen davor genommen werden
Hier der vorhandene Befehl:
SELECT id, updatedOn, updatedBy FROM master AS master1 WHERE updatedOn NOT BETWEEN DATEADD(\"d\", -6, DATEADD(\"d\", -DAY(CAST(updatedOn as Datetime)), DATEADD(\"m\", 1, CAST(updatedOn AS Datetime)))) AND DATEADD(\"d\", -DAY(CAST(updatedOn as Datetime))+1, DATEADD(\"m\", 1, CAST(updatedOn AS Datetime))) AND master1.updatedOn NOT IN((SELECT TOP 3 updatedOn FROM master AS master2 WHERE master1.updatedBy = master2.updatedBy ORDER BY updatedOn DESC))
Ich habe eine Frage, und zwar habe ich einen Select-Befehl, der mir alle einträge einer tabelle ausgibt, die NICHT innerhalb der letzten Woche eines Monats entstanden sind UND nicht die letzten 3 Einträge eines Users sind.
Jetzt würde ich gerne diese letzte Bedingung ändern, dass die letzten 3 Einträge eines Benutzers an unterschiedlichen Tagen selectiert werden.
Sozusagen wenn ein User an einem Tag 10 Änderungen macht, soll nur die letzte hiervon und 2 weitere von Tagen davor genommen werden
Hier der vorhandene Befehl:
SELECT id, updatedOn, updatedBy FROM master AS master1 WHERE updatedOn NOT BETWEEN DATEADD(\"d\", -6, DATEADD(\"d\", -DAY(CAST(updatedOn as Datetime)), DATEADD(\"m\", 1, CAST(updatedOn AS Datetime)))) AND DATEADD(\"d\", -DAY(CAST(updatedOn as Datetime))+1, DATEADD(\"m\", 1, CAST(updatedOn AS Datetime))) AND master1.updatedOn NOT IN((SELECT TOP 3 updatedOn FROM master AS master2 WHERE master1.updatedBy = master2.updatedBy ORDER BY updatedOn DESC))
Comment