Kategorien:

Datenmetrikfunktionen

DUPLICATE_COUNT (System-Datenmetrikfunktion)

Gibt die Anzahl der Spaltenwerte zurück, die Duplikate aufweisen, einschließlich NULL-Werte.

Syntax

SNOWFLAKE.CORE.DUPLICATE_COUNT(<query>)
Copy

Argumente

query

Gibt eine SQL-Abfrage auf einer Tabelle oder Ansicht an.

Zulässige Datentypen

Die referenzierten Spalten in der Abfrage query müssen einen der folgenden Datentypen haben:

  • DATE

  • FLOAT

  • NUMBER

  • TIMESTAMP_LTZ

  • TIMESTAMP_NTZ

  • TIMESTAMP_TZ

  • VARCHAR

Rückgabewerte

Die Funktion gibt einen Einzelwert vom Datentyp NUMBER zurück.

Anforderungen an die Zugriffssteuerung

Um eine System-DMF zu verwenden, wählen Sie eine der folgenden Zugriffssteuerungsmethoden aus:

  • Weisen Sie die Datenbankrolle DATA_METRIC_USER der Rolle des Tabelleneigentümers zu, d. h. der Rolle mit der Berechtigung OWNERSHIP für die Tabelle. Diese Datenbankrolle hat die USAGE-Berechtigung für das Schema SNOWFLAKE.CORE und die Berechtigung USAGE für alle System-DMFs im Schema SNOWFLAKE.CORE.

    Weisen Sie der Rolle des Tabelleneigentümers außerdem die in dieser Tabelle aufgeführten Berechtigungen zu:

    Berechtigung

    Objekt

    Anmerkungen

    EXECUTE DATA METRIC FUNCTION

    Konto

    Mit dieser Berechtigung können Sie steuern, welche Rollen Zugriff auf serverlose Computeressourcen haben, um die System-DMF aufzurufen.

    USAGE

    Datenbank, Schema

    Diese Objekte sind die Datenbank und das Schema, die die referenzierte Tabelle in query enthalten.

  • Weisen Sie die Berechtigungen aus der vorherigen Tabelle der Rolle des Tabelleneigentümers zu. Weisen der Rolle des Tabelleneigentümers außerdem die folgenden Berechtigungen zu:

  • Verwenden Sie die Rolle ACCOUNTADMIN.

Eine Anleitung zum Erstellen einer kundenspezifischen Rolle mit einer bestimmten Gruppe von Berechtigungen finden Sie unter Erstellen von kundenspezifischen Rollen.

Allgemeine Informationen zu Rollen und Berechtigungen zur Durchführung von SQL-Aktionen auf sicherungsfähigen Objekten finden Sie unter Übersicht zur Zugriffssteuerung.

Beispiel

Ermitteln der Anzahl der doppelten US-Sozialversicherungsnummern in der Spalte SSN:

SELECT SNOWFLAKE.CORE.DUPLICATE_COUNT(
  SELECT
    ssn
  FROM hr.tables.empl_info
);
Copy
+---------------------------------------------------------------------+
| SNOWFLAKE.CORE.DUPLICATE_COUNT(SELECT ssn FROM hr.tables.empl_info) |
+---------------------------------------------------------------------+
| 0                                                                   |
+---------------------------------------------------------------------+