获取最近7天内有交易,30天内只有一笔交易的用户

时间:2021-05-25 23:17:23

标签: mysql sql

我有一张如下表,今天是 2021-05-25。

<头>
用户 ID 交易日期
1 2021-05-21
1 2021-05-12
4 2021-05-25
1 2021-04-03
3 2021-05-15
3 2021-04-02
4 2021-03-25

我希望输出是 4。

因为 7 天内有 1 笔交易,但 30 天内有 2 笔交易。 3 7天内没有任何交易。 7天内只有4笔交易,30天内只有4笔交易。

我只能用第一个条件过滤

WHERE t.TransactionDate > to_date('2021-05-17')
GROUP BY 1

谁能帮忙如何同时应用这两个条件?

1 个答案:

答案 0 :(得分:0)

您可以将聚合与 import { useEffect, useState } from 'react'; export function useCulture(): [string, boolean] | undefined { const [result, setResult] = useState<[string, boolean]>(); useEffect(() => { const { valid, culture } = validateCulture(); setResult([culture, valid]); }, []);//add deps that are used inside the effect or should trigger an update return result; } 结合使用:

having

如果你想要交易细节,那就有点复杂了:

select userid
from t
where transactiondate >= curdate() - interval 30 day
group by userid
having count(*) = 1 and
       max(transactiondate) >= curdate() - interval 7 day;