

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Kiat dan contoh kueri Privasi Diferensial
<a name="dp-query-tips-examples"></a>

AWS Clean Rooms Privasi Diferensial menggunakan [struktur kueri tujuan umum](dp-sql-capabilities.md) untuk mendukung berbagai macam konstruksi SQL seperti Common Table Expressions (CTEs) untuk persiapan data dan fungsi agregat yang umum digunakan seperti, atau. `COUNT` `SUM` Untuk mengaburkan kontribusi pengguna yang mungkin dalam data Anda dengan menambahkan noise ke hasil kueri agregat saat run-time, Privasi AWS Clean Rooms Diferensial mengharuskan fungsi agregat di final dijalankan pada data tingkat pengguna. `SELECT statement` 

Contoh berikut menggunakan dua tabel bernama `socialco_impressions` dan `socialco_users` dari penerbit media yang ingin melindungi data menggunakan privasi diferensial saat berkolaborasi dengan merek atletik dengan data. `athletic_brand_sales` Penerbit media telah mengonfigurasi `user_id` kolom sebagai kolom pengenal pengguna sambil mengaktifkan privasi diferensial. AWS Clean Rooms Pengiklan tidak memerlukan perlindungan privasi diferensial dan ingin menjalankan kueri menggunakan CTEs data gabungan. Karena CTE mereka menggunakan tabel yang dilindungi privasi diferensial, pengiklan menyertakan kolom pengenal pengguna dari tabel yang dilindungi tersebut dalam daftar kolom CTE dan bergabung dengan tabel yang dilindungi pada kolom pengenal pengguna. 

```
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
```

Demikian pula, jika Anda ingin menjalankan fungsi jendela pada tabel data yang dilindungi privasi diferensial, Anda harus menyertakan kolom pengenal pengguna dalam klausa. `PARTITION BY`

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