Genaue Anzahl eindeutiger Elemente in Zugriffsabfragen
Das effiziente Zählen eindeutiger Einträge in einem Access-Datenbankfeld ist eine häufige Anforderung. Ein naiver Ansatz mit der Standardfunktion COUNT(*)
führt aufgrund der Einbeziehung doppelter Werte häufig zu ungenauen Ergebnissen.
Das Problem
Stellen Sie sich eine Tabelle „table1“ vor, die doppelte Einträge im Feld „Name“ enthält. Die Abfrage:
<code class="language-sql">SELECT Count(*) FROM table1;</code>
gibt die Gesamtzahl der Zeilen zurück, nicht die Anzahl der eindeutigen Namen.
Der richtige Ansatz
Die ideale Lösung ist die Funktion COUNT(DISTINCT field_name)
. Allerdings funktioniert diese Funktion direkt nicht in Access.
Die Lösung: Verwendung einer Unterabfrage
Um einzelne Elemente genau zu zählen, verwenden Sie eine Unterabfrage:
<code class="language-sql">(SELECT DISTINCT Name FROM table1)</code>
Alias für die Unterabfrage: Weisen Sie dieser Unterabfrage zur besseren Übersichtlichkeit und korrekten Referenzierung einen Alias zu (z. B. „T“).
Zählen Sie die eindeutigen Werte: Verwenden Sie COUNT(*)
für die Alias-Unterabfrage, um die eindeutigen Werte zu zählen:
<code class="language-sql">SELECT Count(*) AS N FROM (SELECT DISTINCT Name FROM table1) AS T;</code>
Diese überarbeitete Abfrage gibt die Anzahl der eindeutigen Namen korrekt zurück.
Weiterführende Literatur
Eine umfassende Anleitung zum Zählen eindeutiger Werte in Microsoft Access finden Sie in dieser hilfreichen Ressource: Zählen eindeutiger Werte in Access
Das obige ist der detaillierte Inhalt vonWie kann man eindeutige Elemente in einer Zugriffsabfrage genau zählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!