

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Tipps und Beispiele für Differential Privacy-Abfragen
<a name="dp-query-tips-examples"></a>

AWS Clean Rooms Differential Privacy verwendet eine [allgemeine Abfragestruktur](dp-sql-capabilities.md), um eine Vielzahl von SQL-Konstrukten wie Common Table Expressions (CTEs) für die Datenaufbereitung und häufig verwendete Aggregatfunktionen wie, oder zu unterstützen. `COUNT` `SUM` Um den Beitrag jedes möglichen Benutzers in Ihren Daten zu verschleiern, indem den aggregierten Abfrageergebnissen zur Laufzeit Rauschen hinzugefügt wird, erfordert AWS Clean Rooms Differential Privacy, dass Aggregatfunktionen in der Endversion auf Daten auf Benutzerebene ausgeführt werden. `SELECT statement` 

Im folgenden Beispiel werden zwei Tabellen mit dem Namen `socialco_impressions` und `socialco_users` von einem Medienverlag verwendet, der Daten mithilfe von Differential Privacy schützen möchte, während er mit einer Sportmarke mit Daten zusammenarbeitet. `athletic_brand_sales` Der Medienherausgeber hat die `user_id` Spalte als Benutzer-ID-Spalte konfiguriert und gleichzeitig den differenziellen Datenschutz in AWS Clean Rooms aktiviert. Der Werbetreibende benötigt keinen differenzierten Datenschutz und möchte eine Abfrage CTEs anhand kombinierter Daten ausführen. Da sein CTE differenzielle datenschutzgeschützte Tabellen verwendet, nimmt der Werbetreibende die Benutzer-ID-Spalte aus diesen geschützten Tabellen in die Liste der CTE-Spalten auf und fügt die geschützten Tabellen in der Benutzer-ID-Spalte zusammen. 

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

Ebenso müssen Sie, wenn Sie Fensterfunktionen für Tabellen mit differenziertem Datenschutz ausführen möchten, die Spalte mit der Benutzerkennung in die Klausel aufnehmen. `PARTITION BY`

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