• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    SQL语句删除2条重复数据一条保留一条
    -- 任意的测试表
    复制代码 代码如下:

    CREATE TABLE test_delete(
    name varchar(10),
    value INT
    );
    go
    -- 张三100 与 王五80 是有重复的
    INSERT INTO test_delete
    SELECT '张三', 100
    UNION ALL SELECT '张三', 100
    UNION ALL SELECT '李四', 80
    UNION ALL SELECT '王五', 80
    UNION ALL SELECT '王五', 80
    UNION ALL SELECT '赵六', 90
    UNION ALL SELECT '赵六', 70
    go
    -- 测试检索数据
    SELECT
    ROW_NUMBER() OVER (PARTITION BY name, value ORDER BY (SELECT 1) ) AS no,
    name,
    value
    FROM
    test_delete


    no name value
    -------------------- ---------- -----------
    1 李四 80
    1 王五 80
    2 王五 80
    1 张三 100
    2 张三 100
    1 赵六 70
    1 赵六 90

    --创建视图
    复制代码 代码如下:

    CREATE VIEW tmp_view AS
    SELECT
    ROW_NUMBER() OVER (PARTITION BY name, value ORDER BY (SELECT 1) ) AS no,
    name,
    value
    FROM
    test_delete

    --删除数据
    1> DELETE FROM tmp_view WHERE no != 1
    2> go

    (2 行受影响)

    -- 核对结果
    1> www.jb51.net
    2> select * from test_delete;
    3> go
    name value
    ---------- -----------
    张三 100
    李四 80
    王五 80
    赵六 90
    赵六 70

    (5 行受影响)


    作者 tearsmo
    您可能感兴趣的文章:
    • ThinkPHP多表联合查询的常用方法
    • SQL语句去掉重复记录,获取重复记录
    • ThinkPHP实现多数据库连接的解决方法
    • ThinkPHP查询语句与关联查询用法实例
    • thinkphp中多表查询中防止数据重复的sql语句(必看)
    上一篇:将Reporting services的RDL文件拷贝到另外一台机器时报Data at the root level is invalid的解决方法
    下一篇:sql不常用函数总结以及事务,增加,删除触发器
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    SQL语句删除2条重复数据一条保留一条 SQL,语句,删除,2条,重复,