qq_40293216
2021-08-11 09:04
采纳率: 50%
浏览 84

SQL删除短时间重复数据保留最后一条

是刷卡机的记录,有些刷卡刷门不开但是数据库里有记录或者短时间内刷了多次,现在想把这些短时间(3分钟内)的同一个人刷卡记录删除只保留最后一条,请问使用sql语句怎么实现?

  • 好问题 提建议
  • 收藏

5条回答 默认 最新

  • 一把编程的菜刀 2021-08-11 09:28
    已采纳

    什么数据库?mysql的话,可以试下以下方法:

    DELETE 
    FROM
        table_name AS  a
    WHERE
        a.唯一键 <> (
    SELECT
        c.maxid 
    FROM
        ( SELECT max( b.唯一键 ) AS maxid FROM table_name AS b WHERE a.判断重复的列 = b.判断重复的列 ) c 
        );
    
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • Zht_bs 2021-08-11 09:27

    你用的什么数据库

    评论
    解决 无用
    打赏 举报
  • 诺羽@ 2021-08-11 10:12

    哎呦,这个有难度啊,思考一下

    评论
    解决 无用
    打赏 举报
  • 诺羽@ 2021-08-11 10:18

    我有一个思路哎,时间除以3分钟后向上取整结果是否相等,来判断是否重复。

    评论
    解决 无用
    打赏 举报
  • 莫以时光逐流年 2021-08-11 11:17

    为什么不从源头解决,要删数据库这种操作。。。

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题