我的表格如下:
|ID(primary)|date(String)|Result(number)|Accuracy(Number)|
| edfca | 20180101 | 12 | 59.99 |
| yrdfa | 20180109 | 72 | 91.49 |
| arfead | 20180101 | 122 | 32.12 |
| readssda | 20180112 | 12 | 33 |
| geeddar | 20180123 | 3 | 81.11 |
| rogeasa | 20180203 | 14 | 81 |
| swiwads | 20180205 | 32 | 13.12 |
我希望获得Accuracy列的总和。 dynamoDB是否提供类似于SQL的列的总和:
SQL查询:
SELECT SUM(column_name)
FROM table_name
WHERE condition;
是否有类似于Above的查询。
从下面的文章:有一个保留关键字' SUM' https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html
但是我没能找到在Java中使用关键字SUM的示例。
从下面的链接中,他们提到了使用HiveQL的示例: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/EMRforDynamoDB.Querying.html#w2ab1c33c13c17c11
有没有选项可以使用Java获取列的SUM。
我有一个备用选项,即使用SCAN操作获取所有项目,然后为所有项目添加列。但是,如果存在大量数据,这是一个缓慢的过程需要花费很多时间。
提前致谢
答案 0 :(得分:2)
恕我直言,聚合函数(或者说缺少它们)是使用DynamoDB时的难点之一。无论如何,Hive SQL都会扫描/查询。
如果您知道需要哪些聚合,可以使用dynamodb流(以及lambda和原子计数器)在其他表中更新它们。