zoukankan      html  css  js  c++  java
  • 删除除了 id 号不同,其他都相同的学生冗余信息

    删除除了 id 号不同,其他都相同的学生冗余信息
    2.学生表 如下:
    id 号 学号 姓名 课程编号 课程名称 分数
    1 2005001 张三 0001 数学 69
    2 2005002 李四 0001 数学 89
    3 2005001 张三 0001 数学 69

    create table student2(id int auto_increment primary key,code varchar(20),name varchar(20));insert into student2 values(null,'2005001','张三'),(null,'2005002','李四'),(null,'2005001','张三');
    //如下语句, mysql 报告错误, 可能删除依赖后面统计语句, 而删除又导致统计语句结果不
    一致。
    delete from student2 where id not in(select min(id) from student2 group by name);
    //但是, 如下语句没有问题:
    select * from student2 where id not in(select min(id) from student2 group by name);
    //于是, 我想先把分组的结果做成虚表, 然后从虚表中选出结果, 最后再将结果作为删除的
    条件数据。
    delete from student2 where id not in(select mid from (select min(id) mid
    from student2 group by name) as t);
    或者:
    delete from student2 where id not in
    (select min(id) from
    (

    select * from student2) as t group by t.name);
  • 相关阅读:
    jmeter 数据库类型的脚本
    jmeter 协议到脚本编写
    python socket粘包
    微信公众号开发
    常用windows和office激活工具
    分辨率等概念
    设置单元格同高或同宽
    单元格内容前或后增加内容
    单元格内数字复制和递增
    excel单元格内容换行
  • 原文地址:https://www.cnblogs.com/zhaideyou/p/5933076.html
Copyright © 2011-2022 走看看