首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dynamodb最大值

Dynamodb最大值
EN

Stack Overflow用户
提问于 2016-06-22 13:47:33
回答 3查看 8.1K关注 0票数 10

我使用的是Dynamodb。我有一个简单的Employee表,其中包含id、姓名、薪水、美国司法部等字段。什么是dynamodb中select max(salary) from employee的等效查询?

EN

回答 3

Stack Overflow用户

发布于 2016-06-22 15:00:29

您可以对您的模式建模,如下所示:

  • employee_id,as partition-key
  • salary,作为表或本地辅助索引的排序关键字。

然后,针对给定的employee_id对表执行Query操作,并将ScanIndexForward设置为false,然后选择第一个返回的条目。由于所有一个employee_id的行都以排序的方式存储,因此降序的第一个条目将是具有最高salary的条目。

您也可以将Limit保留为1,在这种情况下,DynamoDB将只返回一条记录。

相关文档here

票数 7
EN

Stack Overflow用户

发布于 2016-06-22 14:35:44

在Dynamodb中没有廉价的方法来实现这一点。没有内置函数来确定属性的最大值,而无需检索所有项并以编程方式进行计算。

票数 1
EN

Stack Overflow用户

发布于 2016-06-22 14:42:29

不确定boto3,但在boto中可以这样运行

代码语言:javascript
复制
from boto.dynamodb2.table import Table

table = Table("employee")
values = list(table.query_2(reverse=True, limit=1))
MAXVALUE = values[0][salary]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37959515

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档