

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 具有差别隐私的自定义分析规则
<a name="custom-diff-privacy"></a>

在中 AWS Clean Rooms，自定义分析规则支持差分隐私。差别隐私是一种在数学上非常严格的数据隐私保护框架，可以帮助保护您的数据以防范重新识别尝试。

差异化隐私支持聚合分析，例如广告活动规划、广告活动后评估、金融机构联盟中的基准 A/B测试以及医疗保健研究测试。

支持的查询结构和语法在 [查询结构和语法](#dp-query-structure-syntax) 中定义。

## 具有差别隐私的自定义分析规则示例
<a name="custom-diff-privacy-example"></a>

**注意**  
AWS Clean Rooms 差异隐私仅适用于数据存储在 Amazon S3 中的协作。

考虑上一节中介绍的[自定义分析规则示例](analysis-rules-custom.md#custom-example)。该示例说明了如何使用差别隐私保护您的数据以防范重新识别尝试，同时允许您的合作伙伴从您的数据中了解业务关键型见解。假设 B 公司具有观众数据，并希望使用差别隐私保护其数据。为了完成差别隐私设置，B 公司完成以下步骤：

1. B 公司开启差别隐私，同时在观众配置表中添加自定义分析规则。B 公司选择 `viewershipdata.hashedemail` 以作为用户标识符列。

1. B 公司在协作中[添加差别隐私策略](configure-differential-privacy.md)，以使其观众数据表可供查询。B 公司选择默认策略以快速完成设置。

A 公司希望了解 B 公司网站上的广告活动的销售增量，并运行分析模板。由于该查询与 AWS Clean Rooms 差分隐私的通用[查询结构](#dp-query-structure-syntax)兼容，因此查询可以成功运行。

## 查询结构和语法
<a name="dp-query-structure-syntax"></a>

包含至少一个开启了差别隐私的表的查询必须遵循以下语法。

```
query_statement:
    [cte, ...] final_select

 cte:
    WITH sub_query AS (
       inner_select
       [ UNION | INTERSECT | UNION_ALL | EXCEPT/MINUS ]
       [ inner_select ]
    )
   
 inner_select:
     SELECT [user_id_column, ] expression [, ...] 
     FROM table_reference [, ...] 
     [ WHERE condition ]
     [ GROUP BY user_id_column[, expression] [, ...] ] 
     [ HAVING condition ] 

 final_select:
     SELECT [expression, ...] | COUNT | COUNT_DISTINCT | SUM | AVG | STDDEV
     FROM table_reference [, ...]
     [ WHERE condition ]
     [ GROUP BY expression [, ...] ] 
     [ HAVING COUNT | COUNT_DISTINCT | SUM | AVG | STDDEV | condition ]
     [ ORDER BY column_list ASC | DESC ] 
     [ OFFSET literal ]
     [ LIMIT literal ]

 expression:
    column_name [, ...] | expression AS alias | aggregation_functions | window_functions_on_user_id | scalar_function | CASE | column_name math_expression [, expression]  
    
 window_functions_on_user_id:
    function () OVER (PARTITION BY user_id_column, [column_name] [ORDER BY column_list ASC|DESC])
```

**注意**  
对于差别隐私查询结构和语法，请注意以下事项：  
Sub-queries 不支持。
如果表或通用表表达式 (CTE) 涉及受差别隐私保护的数据，CTE 应生成用户标识符列。应在用户级别完成筛选、分组和聚合。
Final\_select 允许 COUNT DISTINCT、COUNT、SUM、AVG 和 STDDEV 聚合函数。

有关差别隐私支持哪些 SQL 关键字的更多详细信息，请参阅 [的 SQL 功能 AWS Clean Rooms 差异隐私](dp-sql-capabilities.md)。