Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon dynamodb 如何正确构造DynamoDB表,以便在没有散列键条件的情况下对结果进行排序?_Amazon Dynamodb_Dynamodb Queries_Aws Dynamodb - Fatal编程技术网

Amazon dynamodb 如何正确构造DynamoDB表,以便在没有散列键条件的情况下对结果进行排序?

Amazon dynamodb 如何正确构造DynamoDB表,以便在没有散列键条件的情况下对结果进行排序?,amazon-dynamodb,dynamodb-queries,aws-dynamodb,Amazon Dynamodb,Dynamodb Queries,Aws Dynamodb,我是DynamoDB的新手,所以我仍在努力理解如何使用它,但我有一个我认为很简单的任务,但我不确定如何解决它 我需要创建一个表来存储分类问题,我需要在其中存储一个点击计数器。让我们这样说: ID: 1 Question: What is this? Category: General Clicks: 100 SELECT ID, Question FROM Questions ORDER BY Clicks DESC LIMIT 10 现在的问题是,我需要一种优化的方法来获得最常见的点击问题

我是DynamoDB的新手,所以我仍在努力理解如何使用它,但我有一个我认为很简单的任务,但我不确定如何解决它

我需要创建一个表来存储分类问题,我需要在其中存储一个点击计数器。让我们这样说:

ID: 1
Question: What is this?
Category: General
Clicks: 100
SELECT ID, Question
FROM Questions
ORDER BY Clicks DESC
LIMIT 10
现在的问题是,我需要一种优化的方法来获得最常见的点击问题和按类别列出的点击最多的问题,比如说前10名

在经典的SQL风格中,应该是这样的:

ID: 1
Question: What is this?
Category: General
Clicks: 100
SELECT ID, Question
FROM Questions
ORDER BY Clicks DESC
LIMIT 10
有人能给我指点一下如何组织桌子的正确方向吗?我尝试了排序,但它总是需要一个散列键条件,所以我不知道如何才能做到这一点,因为我需要的是前10个结果,而不是一个


提前谢谢

你是如何累积点击量的,如果你能够弄清楚如何将点击流正确地累积到表中,那将是你的答案


您需要实现一种机制,将传入的单击映射到正在单击的项目记录,并使用原子计数器对其进行递增。这样,您就可以创建一个稀疏索引,并按降序对其进行排序,以获得所需的内容。

单击进入一个增加的单击属性。这给了我排序键,但为了进行查询操作,还需要一个散列键,所以这就是我丢失的地方。@Damil你能发布一些示例吗?也许你现有的DynamoDB工作台示例,可以尝试为你获得更好的答案。