我有一张每天都有账户余额的表格。需要知道,我如何能够找到所有的帐户,已经超过了某些no.of的日子。
样本数据-
Accountid Date Balance
1000 01/01/2020 -1.00
1000 01/02/2020 -1.00
1000 01/03/2020 -1.00
1001 01/01/2020 -20.00
1001 01/02/2020 -20.00
1003 01/01/2020 15.00
1003 01/02/2020 16.00
我需要查询所有已经负了2天以上的帐户。
发布于 2020-04-01 11:37:20
您可以使用负余额查询天数,按帐户ID分组,然后计算having
子句中的行数:
SELECT AccountID
FROM mytable
WHERE balance < 0
GROUP BY AccountID
HAVING COUNT(*) >= 2
发布于 2020-04-01 11:37:55
尝尝这个。
从表中选择帐户,计数(日期),其中余额<0组按帐户计算(日期) >2
发布于 2020-04-01 11:40:51
使用WHERE
子句中的筛选器只获取负余额,然后按帐户ID和HAVING
子句分组,检查不同天数的计数是否大于您的天数限制。
SELECT accountid
FROM elbat
WHERE balance < 0
GROUP BY accountid
HAVING count(DISTINCT date) > 2;
https://stackoverflow.com/questions/60978912
复制