0

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

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

user1, user2, user1Payed, user2Payed.

user1user2在里面有电子邮件。 user1Payed里面user2Payed有数字,代表一种支付方式。

这是一个代表用户所有订单的表格。 user1并且user1Payed受到意义的约束。 user2并且user2Payed也受到意义的约束。我系统中的订单由 2 个不必区分的用户发出。这意味着可以为同一用户下订单。在这种情况下,它可能是这样user1Payed并且user2Payed会有不同的值。

我的目标是编写一个查询,该查询将计算所有不同用户的总数userPayeduser1Payed+ user2Payed)超过一定数量。这意味着我需要计算所有的数量user1Payeduser2Payed与不同的用户相关联。

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

user1以在特定行中我和user2是相同用户名的情况为例,我将如何计算user1Payeduser2Payed

看来我应该做的是制作一个包含某个用户的所有行的表,user1然后检查它的user1Payed. 然后用用户所在的所有行user2和 count制作另一个表user2Payed。在此之后,我需要总结 2 个结果,从这个结果中我可以得出最终结果。

但我不知道我将如何实现这一点。

多谢。

4

1 回答 1

0

用于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

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

于 2013-10-05T11:58:33.400 回答