Categorias:

Funções de métricas de dados

DUPLICATE_COUNT (função de métricas de dados do sistema)

Retorna a contagem de valores de coluna que possuem duplicatas, incluindo valores NULL.

Sintaxe

SNOWFLAKE.CORE.DUPLICATE_COUNT(<query>)
Copy

Argumentos

query

Especifica uma consulta SQL em uma tabela ou exibição.

Tipos de dados permitidos

As colunas referenciadas no query deve ter um dos seguintes tipos de dados:

  • DATE

  • FLOAT

  • NUMBER

  • TIMESTAMP_LTZ

  • TIMESTAMP_NTZ

  • TIMESTAMP_TZ

  • VARCHAR

Retornos

A função retorna um valor escalar com um tipo de dados NUMBER.

Requisitos de controle de acesso

Para usar uma DMF de sistema, escolha uma das seguintes abordagens de controle de acesso:

  • Conceda a função de banco de dados DATA_METRIC_USER à função do proprietário da tabela, que é a função com o privilégio OWNERSHIP na tabela. Esta função de banco de dados tem o privilégio USAGE sobre o esquema SNOWFLAKE.CORE e o privilégio USAGE em todas as DMFs do sistema no esquema SNOWFLAKE.CORE.

    Além disso, conceda os privilégios nesta tabela à função de proprietário da tabela:

    Privilégio

    Objeto

    Notas

    EXECUTE DATA METRIC FUNCTION

    Conta

    Este privilégio permite que você controle quais funções têm acesso aos recursos de computação sem servidor para chamar a DMF do sistema.

    USAGE

    Banco de dados, esquema

    Esses objetos são o banco de dados e o esquema com a tabela referenciada em query.

  • Conceda os privilégios na tabela acima à função de proprietário da tabela. Além disso, conceda os seguintes privilégios à função de proprietário da tabela:

  • Use a função ACCOUNTADMIN.

Para instruções sobre como criar uma função personalizada com um conjunto específico de privilégios, consulte Criação de funções personalizadas.

Para informações gerais sobre concessões de funções e privilégios para executar ações de SQL em objetos protegíveis, consulte Visão geral do controle de acesso.

Exemplo

Determinar o número de duplicatas nos números de segurança social dos US na coluna 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                                                                   |
+---------------------------------------------------------------------+