首页 > 解决方案 > 查找总数为负数的用户数

问题描述

我正在尝试为以下解决方案找出 SQL 查询或 Python Pandas 代码。

有 n 个 USER_ID 与各种事务。每个 USER_ID 都有多个事务。示例 USER_ID

000e88bb-d302-4fdc-b757-2b1a2c33e7d6
001926be-3245-43fa-86dd-b40ee160b6f9

每个事务都有一个类型

TOPUP
Bank_Transaction
P2P
and a couple more

我想编写一个查询,其中 (TOPUP) - (所有其他类型的事务的总数) 并返回所有 USER_ID,其中 TOPUP < 所有事务的总数。

寻找所有充值少、消费多的用户。

我希望我说清楚?

标签: pythonsqlpandassqlitetransactions

解决方案


认为充值金额为正数而其他支出为负数,那么我们只是在寻找余额为负数的用户。

select user_id
from transaction
group by user_id
having sum(case when transaction_type = 'TOPUP' then amount else -amount end) < 0

推荐阅读