

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Dicas e exemplos de consultas de privacidade diferencial
<a name="dp-query-tips-examples"></a>

AWS Clean Rooms A Privacidade Diferencial usa uma [estrutura de consulta de uso geral](dp-sql-capabilities.md) para oferecer suporte a uma ampla variedade de construções SQL, como Common Table Expressions (CTEs) para preparação de dados e funções agregadas comumente usadas, como ou. `COUNT` `SUM` Para ofuscar a contribuição de qualquer possível usuário em seus dados adicionando ruído aos resultados agregados da consulta em tempo de execução, a Privacidade AWS Clean Rooms Diferencial exige que as funções agregadas no final sejam executadas em dados no nível do usuário. `SELECT statement` 

O exemplo a seguir usa duas tabelas chamadas `socialco_impressions` e `socialco_users` de um publicador de mídia que deseja proteger os dados usando a privacidade diferencial enquanto colabora com uma marca esportiva com dados `athletic_brand_sales`. O publicador de mídia configurou a coluna `user_id` como a coluna do identificador do usuário, ao mesmo tempo em que habilitou a privacidade diferencial no AWS Clean Rooms. O anunciante não precisa de proteção de privacidade diferencial e deseja executar uma consulta usando CTEs dados combinados. Como a CTE usa tabelas protegidas de privacidade diferencial, o anunciante inclui a coluna de identificador de usuário dessas tabelas protegidas na lista de colunas de CTE e une as tabelas protegidas na coluna de identificador de usuário. 

```
WITH matches_table AS(
     SELECT si.user_id, si.campaign_id, s.sale_id, s.sale_price
     FROM socialco_impressions si
     JOIN socialco_users su
         ON su.user_id = si.user_id
     JOIN athletic_brand_sales s
         ON s.emailsha256 = su.emailsha256
     WHERE s.timestamp > si.timestamp
    
UNION ALL
 
     SELECT si.user_id, si.campaign_id, s.sale_id, s.sale_price
     FROM socialco_impressions si
     JOIN socialco_users su
         ON su.user_id = si.user_id
     JOIN athletic_brand_sales s
         ON s.phonesha256 = su.phonesha256
     WHERE s.timestamp > si.timestamp
)
        
SELECT COUNT (DISTINCT user_id) as unique_users
FROM matches_table
GROUP BY campaign_id
ORDER BY COUNT (DISTINCT user_id) DESC
LIMIT 5
```

Da mesma forma, se você quiser executar funções de janela em tabelas de dados protegidas por privacidade diferencial, deverá incluir a coluna do identificador do usuário na cláusula `PARTITION BY`.

```
ROW_NUMBER() OVER (PARTITION BY conversion_id, user_id ORDER BY match_type, match_age) AS row
```