SQL:如何生成在 24 小时内出现超过 2 次的所有单个 ID 的表

  • 本文关键字:的表 ID 单个 何生成 小时 SQL mysql sql zoho
  • 更新时间 :
  • 英文 :


我有一个如下所示的表格

日期时间金额2020年8月19日13:40:124//tr>yyy63hgd72
用户ID 付款ID
UID1 12dw4r434t10
UID2 k2dw86774z 2020年8月19日14:30:52 5
UID3 5hjs982835 2020年8月17日09:56:08 7
UID1 hg19283jdg 2020年8月20日07:59:33 12
UID1 2563ghmn77 2020年8月20日08:10:22 54
UID2 999gegh77d 2020年8月19日17:11:37 67
UID2 mnnnhsgdje 2020年8月20日19:18:55 67
UID1 qcc356njd 2020年8月20日16:10:11 87
UID3 mmk0999111 2020年8月18日05:16:29
UID32020年8月18日05:25:444

您可以使用lead()和日期算术来获得三者中的第一个:

select pst.*
from (select pst.*,
lead(created_at, 2) over (partition by user_id order by created_at) as created_at_2
from payment_summary_table pst
) pst
where created_at_2 < dateadd(hour, 24, created_at);

这将为用户查看前面2行的付款。如果是在24小时内,那么三次付款都是在24个小时内。

如果您只想要用户,请将select替换为:

select distinct user_id

最新更新