首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL跨多个表选择第N行和分组依据

SQL跨多个表选择第N行和分组依据
EN

Stack Overflow用户
提问于 2020-10-09 23:51:23
回答 1查看 29关注 0票数 1

目前,我在从MYSQL数据库中选择数据时遇到了问题。

主要的主题是库存管理,所以我有客户、产品和库存移动(将产品从我的仓库中的一个地方放到另一个地方)。我需要的数据被拆分到三个不同的表中,它们的构建方式如下(简化):

代码语言:javascript
复制
tableCustomer
customerID | loginEmail | ...
123 | test@test.com | ...
124 | hello@world.com | ...

tableProduct
productID | customerID | createDate | ...
789 | 123 | 2019-12-12 | ...
790 | 123 | 2019-12-13 | ...
791 | 124 | 2019-12-14 | ...

tableMovement
movementID | productID | createDate | ...
548 | 790 | 2020-01-25 | ...
549 | 789 | 2020-01-27 | ...
550 | 791 | 2020-01-28 | ...

我要找的是每个客户的第N次(如第25次)运动的createDate。结果应该是这样的

代码语言:javascript
复制
customerID | movement.createDate
123 | 2020-01-25
124 | 2020-01-28

因此,它将是一个列表,其中列出了每个customerID一次,以及该customerID的第25个运动的createDate。我找不到任何方法来选择结果,因为有不同的表。有谁有主意吗?

EN

回答 1

Stack Overflow用户

发布于 2020-10-09 23:54:23

一种选择是使用相关子查询和行限制子句:

代码语言:javascript
复制
select c.customerid,
    (
        select m.createdate
        from movement m
        inner join product p on p.productid = m.productid
        where m.customerid = c.customerid
        order by m.createdate
        limit 24, 1
    )
from customer c
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64283340

复制
相关文章

相似问题

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