sql笔记

根据名称分组查询最近时间的SQL

SELECT
        t1.*   
    FROM
        APS_POSITION t1,
        (SELECT
            VIN,
            MAX(TIME) AS TIME 
        FROM
            APS_POSITION 
        GROUP BY
            VIN) T2        
    WHERE
        t1.vin=t2.vin 
        AND t1.time=t2.time;

根据条件分组 删除重复数据 并且保留rowid最小的一行数据

DELETE FROM APS_POSITION A
 WHERE (A.VIN, A.TIME, A.LAT, A.LNG) IN
       (SELECT VIN, TIME, LAT, LNG
          FROM APS_POSITION
         GROUP BY (VIN, TIME, LAT, LNG)
        HAVING COUNT(*) > 1)
   AND ROWID NOT IN 
    (SELECT MIN(ROWID)
              FROM APS_POSITION
        GROUP BY (VIN, TIME, LAT, LNG)
          HAVING COUNT(*) > 1)
posted @   bigroc  阅读(163)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示