gpt4 book ai didi

javascript - Prisma 客户端查询每个用户的最新值

转载 作者:行者123 更新时间:2023-12-02 18:21:25 24 4
gpt4 key购买 nike

我是 prisma-client 的新手,我想返回给定公司的每个用户的最新值寄存器。

这是我的schema.prisma:

model Locations {
id Int @id @default(autoincrement())
user String
company String
latitude String
longitude String
timestamp String
}

这是我目前尝试过的:

const lastLocations = await db.locations.findMany({
where: {
company,
},
orderBy: {
id: 'desc',
},
take: 1,
});

但我需要为每个用户获取 1 个值,我之前在 sql 中解决了这个问题:

WITH ranked_messages AS (   SELECT m.*, ROW_NUMBER() OVER (PARTITION BY userID ORDER BY timestamp DESC) AS rn FROM locations AS m ) SELECT * FROM ranked_messages WHERE rn = 1 AND companyID = "${companyID}";`;

但我不知道如何在 prisma 中进行。是否有“每个”方法?

我很感激任何帮助。谢谢。

最佳答案

我使用 distinct 选项解决了问题:

const lastLocations = await db.locations.findMany({
where: {
company,
},
distinct: ['user'],
orderBy: {
id: 'desc',
},
});

谢谢。

关于javascript - Prisma 客户端查询每个用户的最新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70834547/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com