首页 > 解决方案 > 使用 AWS Java SDK 获取 DynamoDB 中的列值计数

问题描述

我有一个包含以下项目的 DynamoDB

ID     TotalCount   SuccessCount   FailedCount

1         10            5              5

1         5             3              2

1         5             2              3

使用 DynamoDB AWS Java SDK(例如使用 DynamoDBQueryExpression 或 DynamoDBScanExpression 或任何其他 DynamoDB API),我如何获得 ID = 1 的 TotalCount、SuccessCount 和 FailedCount 的计数。

等效的类似 SQL 的查询将如下所示。

SELECT COUNT(TotalCount), COUNT(SuccessCount), COUNT(FailedCount)
FROM TABLE
WHERE ID = 1;

任何帮助将不胜感激。

标签: amazon-web-servicesamazon-dynamodbaws-sdkdynamodb-queries

解决方案


DynamoDB 本身不支持这种类型的聚合,也不支持 SQL,因此您不能使用任何 SQL 查询。您必须扫描/查询表,检索相关行,然后对应用程序中的列求和。

如果列聚合对您的应用程序非常重要并且您致力于 NoSQL,那么您可能希望尝试独立维护它们,但这是一个难以解决的问题。

根据您的编程语言,可能还有第三方选项,例如RazorSQLDynamoDB.SQL


推荐阅读