


Wie kann man Datensätze innerhalb eines Datumsbereichs in SQL effizient zählen?
Dec 20, 2024 pm 10:39 PMBerechnen der Datensatzanzahl für Daten zwischen zwei Daten
Um die Anzahl der Datensätze zu berechnen, die in einen Datumsbereich für ein mehrachsiges Diagramm fallen, Wir müssen die Nichtübereinstimmung des Operandentyps in der ursprünglichen Abfrage überwinden. Um dieses Problem anzugehen, untersuchen wir alternative Ansätze, die Tally-Tabellen oder -Funktionen nutzen.
Eine hochleistungsfähige Lösung ist die Verwendung einer Tally-Tabelle oder -Funktion. Die bekannte Tally-Funktion von Itzik Ben-Gan kann wie folgt integriert werden:
DECLARE @StartDate date = '2020-11-01', @EndDate date = '2021-02-22'; WITH L0 AS ( SELECT 1 AS c FROM (VALUES(1),(1),(1),(1),(1),(1),(1),(1), (1),(1),(1),(1),(1),(1),(1),(1)) AS D(c) ), L1 AS ( SELECT 1 AS c FROM L0 AS A CROSS JOIN L0 AS B ), L2 AS ( SELECT 1 AS c FROM L1 AS A CROSS JOIN L1 AS B ), Nums AS ( SELECT ROW_NUMBER() OVER(ORDER BY (SELECT NULL)) AS rownum FROM L2 ) Date_Range_T (d_range) AS ( SELECT TOP(DATEDIFF(day, @StartDate, @EndDate) + 1) DATEADD(day, rownum - 1, @StartDate) AS d_range, DATEADD(day, rownum, @StartDate) AS d_rangeNext FROM Nums ) SELECT d_range, COUNT(Id) AS Total FROM Date_Range_T LEFT JOIN tbl_Support_Requests R ON R.CreatedDate >= T.d_range AND R.CreatedDate < T.d_rangeNext GROUP BY d_range ORDER BY d_range ASC
Dieser Ansatz generiert eine Datumsbereichstabelle für den angegebenen Zeitraum, die dann in einem Left Join mit der Tabelle tbl_Support_Requests verwendet wird, um die darin enthaltenen Datensätze zu zählen jeden Datumsbereich.
Das obige ist der detaillierte Inhalt vonWie kann man Datensätze innerhalb eines Datumsbereichs in SQL effizient zählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Reduzieren Sie die Verwendung des MySQL -Speichers im Docker

Wie verändern Sie eine Tabelle in MySQL mit der Änderungstabelleanweisung?

So lösen Sie das Problem der MySQL können die gemeinsame Bibliothek nicht öffnen

Führen Sie MySQL in Linux aus (mit/ohne Podman -Container mit Phpmyadmin)

Ausführen mehrerer MySQL-Versionen auf macOS: Eine Schritt-für-Schritt-Anleitung

Wie sichere ich mich MySQL gegen gemeinsame Schwachstellen (SQL-Injektion, Brute-Force-Angriffe)?

Wie konfiguriere ich die SSL/TLS -Verschlüsselung für MySQL -Verbindungen?
