

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Amazon QLDB 中的 COUNT 函數
<a name="ql-functions.count"></a>

**重要**  
支援終止通知：現有客戶將可以使用 Amazon QLDB，直到 07/31/2025 的支援結束為止。如需詳細資訊，請參閱[將 Amazon QLDB Ledger 遷移至 Amazon Aurora PostgreSQL](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/)。

在 Amazon QLDB 中，使用 `COUNT`函數來傳回由指定表達式定義的文件數量。此函數有兩種變化：
+ `COUNT(*)` – 計算目標資料表中的所有文件，無論它們是否包含 null 值或缺少值。
+ `COUNT(expression)` – 計算特定現有欄位或表達式中具有非空值的文件數量。

**警告**  
函數未最佳化，因此我們不建議在沒有索引查詢的情況下使用該`COUNT`函數。當您在沒有索引查詢的情況下在 QLDB 中執行查詢時，它會叫用完整資料表掃描。這可能會導致大型資料表的效能問題，包括並行衝突和交易逾時。  
若要避免資料表掃描，您必須在索引欄位或文件 ID 上使用*等式*運算子 (`=` 或 `IN`) 搭配`WHERE`述詞子句執行陳述式。如需詳細資訊，請參閱[最佳化查詢效能](working.optimize.md)。

## 語法
<a name="ql-functions.count.syntax"></a>

```
COUNT ( * | expression )
```

## 引數
<a name="ql-functions.count.arguments"></a>

*運算式*  
函數操作的欄位名稱或表達式。此參數可以是任何支援的 [資料類型](ql-reference.data-types.md)。

## 傳回類型
<a name="ql-functions.count.return-type"></a>

`int`

## 範例
<a name="ql-functions.count.examples"></a>

```
SELECT COUNT(*) FROM VehicleRegistration r WHERE r.LicensePlateNumber = 'CA762X' -- 1
SELECT COUNT(r.VIN) FROM Vehicle r WHERE r.VIN = '1N4AL11D75C109151'             -- 1
SELECT COUNT(a) FROM << { 'a' : 1 }, { 'a': 2 }, { 'a': 3 } >>                   -- 3
```

## 相關函數
<a name="ql-functions.count.related"></a>
+ [AVG](ql-functions.avg.md)
+ [MAX](ql-functions.max.md)
+ [MIN](ql-functions.min.md)
+ [SIZE](ql-functions.size.md)
+ [SUM](ql-functions.sum.md)