gpt4 book ai didi

mysql - 如何使用三个表在sql中进行计数

转载 作者:行者123 更新时间:2023-11-29 13:22:52 25 4
gpt4 key购买 nike

我有三个表,我想要做的是计算每个订单的使用量。

用户:

IDs    UserID1     252     32

订单:

ID     StartDate     StopDate     Count        UserID1      01.01.2013    10.01.2013   10           252      13.01.2013    16.01.2013   4            253      10.01.2013    23.01.2013   13           324      25.01.2013    26.01.2013   2            32

用法:

Date           IDs01.01.2013     102.01.2013     103.01.2013     113.01.2013     121.01.2013     111.01.2013     226.01.2013     2

我想要实现的是这样的:

OrderID      Counter  IDs(or UserID)       1            3        1(or 25)     2            1        1(or 25)3            1        2(or 32)4            1        2(or 32)     

不幸的是,我无法编辑表 - 在 SQL 查询中可以吗?

最佳答案

这应该会给你你正在寻找的结果:

SELECT o.id, COUNT(usg.ids) counter, u.userID FROM users u
JOIN orders o ON u.userId = o.userId
LEFT JOIN usage1 usg
ON u.ids = usg.Ids AND usg.date BETWEEN o.startDate AND o.stopDate
GROUP BY o.id, u.userID

输出:

| ID | COUNTER | USERID |
|----|---------|--------|
| 1 | 3 | 25 |
| 2 | 1 | 25 |
| 3 | 1 | 32 |
| 4 | 1 | 32 |

fiddle here .

如果需要,您可以在 u.IDS 的 select 和 group by 子句中更改 u.userID

关于mysql - 如何使用三个表在sql中进行计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20553367/

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