当前位置: 首页 > news >正文

微餐饮网站建设旅游网站建设的功能

微餐饮网站建设,旅游网站建设的功能,页面跳转html,建设银行网站机构特点业务发展工作或面试中经常能遇见一种场景题:删除冗余的数据,以下是举例介绍相应的解决办法。 举例: 表结构: 解法1:子查询 获取相同数据中id更小的数据项,再将id不属于其中的数据删除。-- 注意:mysql中…

工作或面试中经常能遇见一种场景题:删除冗余的数据,以下是举例介绍相应的解决办法。

  • 举例:
    • 表结构:
      在这里插入图片描述
    • 解法1:子查询
      获取相同数据中id更小的数据项,再将id不属于其中的数据删除。
      -- 注意:mysql中不允许在一个语句中同时读取和更新同一张表,会出现问题;为了避开这一限制,可以嵌套一个子查询,操作临时表
      DELETE 
      FROMstudent 
      WHEREid NOT IN (SELECT* FROM( SELECT MIN( id ) AS id FROM student GROUP BY stu_no, NAME, course_no, course_name, score ) AS subquery );
      
    • 解法2:join自连接
      -- 从s1中删除记录,删除相同数据项中id更大的(删除delete后面的s1不能执行,因为该语句中涉及s1和s2,会不知道删除s1还是s2)
      DELETE s1 
      FROMstudent AS s1LEFT JOIN student AS s2 ON s1.stu_no = s2.stu_no AND s1.`name` = s2.`name` AND s1.course_no = s2.course_no AND s1.course_name = s2.course_name AND s1.score = s2.score 
      WHEREs1.id > s2.id
      
    • 解法3:分区排序删除
      -- 先创建临时表,再根据临时表中的结果删除原表(使用row_number()先分区再排序,序号大于1的就是冗余数据)
      WITH CTE AS(SELECT * , ROW_NUMBER() over (PARTITION by stu_no, name, course_no, course_name, score ORDER BY id) as row_numFROM student
      )DELETE from student WHERE id in (select id from CTE where row_num > 1)
      

以上为个人学习分享,如有问题,欢迎指出:)

http://www.yayakq.cn/news/846715/

相关文章:

  • 四川省建设招标网站网站的设计过程
  • 郑州营销网站建设公司百度网盘网页版登录
  • 富顺住房和城乡建设厅网站厦门专业的网站建设
  • 培训网站有哪些沈阳市绿云网站建设
  • 乌兰察布市建设局网站wordpress插件太多
  • 三亚房产网站开发学校特色网站建设情况
  • studio网站开发广州定制网站建设公司
  • phpcms建站教程泛站群
  • 做一个网站大概需要多少钱怎么登陆wordpress后台
  • 织梦网站主页合肥发布网
  • 影响网站pr的主要因素有哪些wordpress图像并排
  • 番禺龙美村做网站网站空间域名每年都得交吗
  • 深圳比较好的建站公司房地产网站开发公司电话
  • 图片手机网站建设找人做网站服务器不是自己的怎么办
  • 做招聘信息的网站有哪些内容制作成长纪念册
  • 博客网站搭建郴州网站设计较好的公司
  • 乐陵网站制作商业计划书免费word版
  • 单县网站wordpress如何更换主题
  • 网页美工设计网站拼多多网上购物商城
  • dz网站建设教程俄罗斯乌克兰为什么打仗
  • html5网站后台页面设计高端响应式网站建设
  • 沈阳网官方网站郑州网约车平台
  • iis网站伪静态网站中国建设银行龙卡网站
  • 手机网站制作相关文章福州做网站价格
  • 百度网站联盟推广建网站为什么每年都要续费
  • 宜宾网站建设88sou苏州哪家做网站好些
  • 做网站需要备案几次广州中小企业seo推广运营
  • 在别人网站做的友链_为何百度检测带后缀cnindex.asp自建网上商城
  • 网站管理后台密码忘记了湛江哪里有建网站
  • 查询网站流量的网址绍兴seo