Die Bestimmung der Anzahl eindeutiger Einträge innerhalb eines Datensatzes ist eine häufige Aufgabe bei der Datenanalyse. SQL Server bietet eine einfache Methode zum Zählen unterschiedlicher Werte mithilfe der Funktion COUNT(DISTINCT)
. Dies ist besonders nützlich, wenn es um große Datensätze geht, bei denen das Verständnis einzigartiger Vorkommnisse von entscheidender Bedeutung ist.
Betrachten wir die cm_production
-Tabelle, in der Informationen zu Codebereitstellungen gespeichert sind, einschließlich Ticketnummern, Programmtypen, Programmnamen und Push-Nummern. Unser Ziel ist es, die Anzahl eindeutiger Programmnamen zu ermitteln, kategorisiert nach Programmtyp und Push-Nummer.
Eine erste, falsche Vorgehensweise könnte so aussehen:
<code class="language-sql">DECLARE @push_number INT; SET @push_number = [HERE_ADD_NUMBER]; SELECT DISTINCT COUNT(*) AS Count, program_type AS [Type] FROM cm_production WHERE push_number=@push_number GROUP BY program_type</code>
Diese Abfrage scheint zwar korrekt zu sein, zählt aber tatsächlich alle Programmnamen, nicht nur die eindeutigen. Der Schlüssel zur korrekten Zählung liegt in der Verwendung der Funktion COUNT(DISTINCT <expression>)
. Diese Funktion gibt speziell die Anzahl der eindeutigen Nicht-Null-Werte für einen bestimmten Ausdruck zurück.
Die korrigierte SQL-Abfrage lautet wie folgt:
<code class="language-sql">SELECT program_type AS [Type], COUNT(DISTINCT program_name) AS [Count] FROM cm_production WHERE push_number = @push_number GROUP BY program_type</code>
Diese verfeinerte Abfrage nutzt COUNT(DISTINCT program_name)
, um die unterschiedlichen Programmnamen für jeden Programmtyp und das angegebene push_number
genau zu zählen. Dies bietet eine präzise Darstellung der eindeutigen Codebereitstellungen innerhalb der Datenbank.
Das obige ist der detaillierte Inhalt vonWie zähle ich unterschiedliche Programmnamen in SQL Server mit COUNT(DISTINCT)?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!