【问题标题】:Cosmos db get one record of each partition keyCosmos db 获取每个分区键的一条记录
【发布时间】:2020-07-31 16:12:44
【问题描述】:

我有一个容器保存一些文件,例如:

{
        "id": "deece304-XXXXXXX-88e8-fcfc0c750e97",
        "log_VehicleId": 123,
        "latitude": -000.000,
        "longitude": 111.111,
        "_ts": 1593825193
}

我的分区键是“log_VehicleId”,我需要一个 Cosmos SQl,它可以为我提供每个分区的新集记录

类似

Select top 1 from container c where c.log_VehicleId IN (123,234,312,123,873) 
order by c._ts DESC

如果也有类似的 LINQ 那就太好了

所以我将获得每个“log_VehicleId”的最新记录

谢谢

【问题讨论】:

  • 你可以试试类似的方法:SELECT MIN(c._ts) AS minTime FROM c GROUP BY c.log_VehicleId;
  • 这需要 25 秒和 9000RU

标签: azure-cosmosdb azure-cosmosdb-sqlapi


【解决方案1】:

根据documentation

您目前不能将 GROUP BY 与 ORDER BY 子句一起使用,但这是计划好的

所以现在不支持此功能。您可以在here 投票和跟踪此功能。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-18
    • 1970-01-01
    • 2017-12-18
    • 1970-01-01
    • 2022-01-09
    相关资源
    最近更新 更多