如何删除数据库中5分钟内取消的订单记录?

洲来

我有用户购买行为的记录。但是,它很长,并且包含许多冗余数据。我想删除在5分钟内购买和删除的订单

到目前为止,我的查询:--TABLE 3 COD

select z.user_id,
       z.date,
       z.actions,
       x.name,
       x.email,
       x.address
       sum(z.debit) over (partition by z.seller_id order by z.created_at) - 
          sum(z.credit) over (partition by z.seller_id order by z.created_at) 
as balance
from table_1 z

left join

table_2 x

on z.seller_id = x.uid
order by seller_id, created_at

为简单起见,我得到了这个结果

user    actions        credit debit  balance     date
 1    do_action_A      5000    0      5000      2020-01-01 1:00:00     #no need these 2
 1    cancel_A          0     5000      0       2020-01-01 1:03:00     #in result
 1    do_action_A      5000    0      5000      2020-01-01 1:10:00
 1    do_action_b      3000    0      8000      2020-01-01 1:20:00
 1    do_action_c       0     7000    1000      2020-01-01 1:30:00

 2    do_action_A      5000    0      5000      2020-01-01 1:00:00
 2    do_action_B      3000    0      8000      2020-01-01 1:10:00

我们知道用户只能在5分钟内取消订单,很遗憾,取消的情况很多。我需要使此数据表简单而简短,以便轻松跟踪和可视化它。

这是我的期望:

user    actions        credit debit  balance     date

 1    do_action_A      5000    0      5000      2020-01-01 1:10:00
 1    do_action_b      3000    0      8000      2020-01-01 1:20:00
 1    do_action_c       0     7000    1000      2020-01-01 1:30:00

 2    do_action_A      5000    0      5000      2020-01-01 1:00:00
 2    do_action_B      3000    0      8000      2020-01-01 1:10:00
法米

您可以尝试使用lead()

select * from
(
select z.user_id,z.date,z.actions,x.name,
       x.email,x.address,debtit, credit, balance,
lead(z.actions) over(parition by z.user_id order by z.created_at) as next_action
from table_1 z left join table_2 x
on z.seller_id = x.uid
)A where next_action not like '%cancel%' and actions not like '%cancel%'

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从SQL数据库表中获取最近5分钟的记录?

来自分类Dev

如何从SQL数据库表中获取最近5分钟的记录?

来自分类Dev

在设置的到期时间(例如5分钟)后删除数据库行

来自分类Dev

如果已有15分钟的代码,请删除数据库中的一行

来自分类Dev

每5分钟从SQLite数据库中删除不活动的项目(聊天)

来自分类Dev

如何将数据库记录分组为15分钟的时间间隔

来自分类Dev

5分钟后更新数据库

来自分类Dev

如何每5分钟使用celery / cronjobs在数据库中添加一个用户

来自分类Dev

30分钟后从数据库中删除项目

来自分类Dev

5分钟后如何修改数据库(mysql)并将其还原?

来自分类Dev

如何每5分钟自动备份一次mysql数据库

来自分类Dev

每隔5分钟计算一次数据库中的条目数

来自分类Dev

Laravel - 从数据库中删除数据记录

来自分类Dev

级联删除数据库中的记录

来自分类Dev

jTable的jQuery不删除数据库中的记录

来自分类Dev

删除数据库中的记录(mysql workbench)

来自分类Dev

如何根据数据库时钟获取范围为“在最后五分钟内创建”的查询集

来自分类Dev

如何使用复选框和按钮从表单中删除数据库中的记录

来自分类Dev

删除数据库记录MVC

来自分类Dev

删除时间戳记超过5分钟的记录

来自分类Dev

删除时间戳记超过5分钟的记录

来自分类Dev

如何从条件中删除数据库中的数据?

来自分类Dev

数据库中最近24小时的5分钟间隔聚合

来自分类Dev

如何从数据库中删除数据?

来自分类Dev

如何从数据库中删除数据?

来自分类Dev

如何从Xamarin中的SQLite数据库删除数据

来自分类Dev

在MongoDB中删除记录的时间早于10分钟?

来自分类Dev

在MongoDB中删除记录比10分钟还早的地方?

来自分类Dev

每15分钟从数据库中删除一次数据,但会出现错误-Discord.py

Related 相关文章

  1. 1

    如何从SQL数据库表中获取最近5分钟的记录?

  2. 2

    如何从SQL数据库表中获取最近5分钟的记录?

  3. 3

    在设置的到期时间(例如5分钟)后删除数据库行

  4. 4

    如果已有15分钟的代码,请删除数据库中的一行

  5. 5

    每5分钟从SQLite数据库中删除不活动的项目(聊天)

  6. 6

    如何将数据库记录分组为15分钟的时间间隔

  7. 7

    5分钟后更新数据库

  8. 8

    如何每5分钟使用celery / cronjobs在数据库中添加一个用户

  9. 9

    30分钟后从数据库中删除项目

  10. 10

    5分钟后如何修改数据库(mysql)并将其还原?

  11. 11

    如何每5分钟自动备份一次mysql数据库

  12. 12

    每隔5分钟计算一次数据库中的条目数

  13. 13

    Laravel - 从数据库中删除数据记录

  14. 14

    级联删除数据库中的记录

  15. 15

    jTable的jQuery不删除数据库中的记录

  16. 16

    删除数据库中的记录(mysql workbench)

  17. 17

    如何根据数据库时钟获取范围为“在最后五分钟内创建”的查询集

  18. 18

    如何使用复选框和按钮从表单中删除数据库中的记录

  19. 19

    删除数据库记录MVC

  20. 20

    删除时间戳记超过5分钟的记录

  21. 21

    删除时间戳记超过5分钟的记录

  22. 22

    如何从条件中删除数据库中的数据?

  23. 23

    数据库中最近24小时的5分钟间隔聚合

  24. 24

    如何从数据库中删除数据?

  25. 25

    如何从数据库中删除数据?

  26. 26

    如何从Xamarin中的SQLite数据库删除数据

  27. 27

    在MongoDB中删除记录的时间早于10分钟?

  28. 28

    在MongoDB中删除记录比10分钟还早的地方?

  29. 29

    每15分钟从数据库中删除一次数据,但会出现错误-Discord.py

热门标签

归档