gpt4 book ai didi

带有多个分组依据的mysql查询

转载 作者:行者123 更新时间:2023-11-30 01:14:29 26 4
gpt4 key购买 nike

我正在尝试编写一个 SQL 查询,但这对我来说有点复杂。

我有一个包含这些字段的表:

user1, user2, user1Payed, user2Payed.

user1user2 里面有电子邮件。user1Payeduser2Payed 里面有数字,代表一种付款方式。

这是一个表,代表用户所下的所有订单。user1user1Payed 是有含义的。user2user2Payed 也受含义约束。我的系统中的订单是由 2 个用户发出的,这两个用户不必是不同的。这意味着同一用户可以下订单。在这种情况下,user1Payeduser2Payed 可能具有不同的值。

我的目标是编写一个查询,计算在一段时间内拥有总 userPayed (user1Payed + user2Payed) 的所有不同用户一定数量。这意味着我需要计算与不同用户关联的所有 user1Payeduser2Payed 的金额。

我知道应该在这里使用GROUP BY,但这还不够,因为这不能解决所有可能性。

举个例子,在特定行中我的 user1user2 是相同的用户名,我将如何计算 user1Payeduser2Payed

看来我应该做的是制作一个表,其中包含某个用户是user1的所有行,然后检查其user1Payed。然后创建另一个表,其中包含用户为 user2 的所有行并计算 user2Payed。之后我需要总结这两个结果,并根据这个结果得出最终结果。

但我不知道如何实现这个。

非常感谢。

最佳答案

使用UNION合并每个用户列的数据。

SELECT user, SUM(amount) total
FROM (
SELECT user1 user, user1Payed amount
FROM table
UNION ALL
SELECT user2 user, user2Payed amount
FROM table
) u
GROUP BY user

我不知道“受含义约束”是什么意思,我希望它与答案无关。

关于带有多个分组依据的mysql查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19197428/

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