Cómo obtener los datos más recientes de DynamoDB para cada clave de partición primaria en PartiQL.
Tengo una tabla en DynamoDB. Almacena estadísticas de cuenta. Es posible que las estadísticas de la cuenta se actualicen varias veces al día. Por lo tanto, los registros de la tabla pueden verse así:
+————+————–+——-+——-+
| account_id | record_id | views | stars |
+————+————–+——-+——-+
| 3 | 2019/03/16/1 | 29 | 3 |
+————+————–+——-+——-+
| 2 | 2019/03/16/2 | 130 | 21 |
+————+————–+——-+——-+
| 1 | 2019/03/16/3 | 12 | 2 |
+————+————–+——-+——-+
| 2 | 2019/03/16/1 | 57 | 12 |
+————+————–+——-+——-+
| 1 | 2019/03/16/2 | 8 | 2 |
+————+————–+——-+——-+
| 1 | 2019/03/16/1 | 3 | 0 |
+————+————–+——-+——-+
account_id
es una clave de partición principal. record_id
es una clave de clasificación principal.
¿Cómo puedo obtener solo los últimos registros para cada uno de los account_ids
? Entonces, a partir del ejemplo anterior, espero obtener:
+————+————–+——-+——-+
| account_id | record_id | views | stars |
+————+————–+——-+——-+
| 3 | 2019/03/16/1 | 29 | 3 |
+————+————–+——-+——-+
| 2 | 2019/03/16/2 | 130 | 21 |
+————+————–+——-+——-+
| 1 | 2019/03/16/3 | 12 | 2 |
+————+————–+——-+——-+
Estos datos son convenientes para fines de informes.
davy.ai
Para obtener solo los registros más recientes de cada account_id, puede utilizar la siguiente consulta en Amazon DynamoDB con PartiQL:
Esta consulta primero agrupa los registros por account_id y encuentra el record_id máximo para cada grupo mediante la función MAX. Luego une los resultados con la tabla original de account_stats para recuperar los datos de registro correspondientes para cada par de account_id y max_record_id.
Esta consulta devolverá el registro más reciente para cada account_id, como se muestra en la tabla de resultados esperados.