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

广州开发网站建设seo网站优化服务

广州开发网站建设,seo网站优化服务,济南网站建设工作室,餐饮网站程序工作或面试中经常能遇见一种场景题:删除冗余的数据,以下是举例介绍相应的解决办法。 举例: 表结构: 解法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.tj-hxxt.cn/news/42106.html

相关文章:

  • 400建筑人才网重庆seo顾问
  • 深圳布吉网站建设新东方雅思培训机构官网
  • 网站顶部轮播怎么做推广效果最好的平台
  • 三门峡建设网站哪家好企业网站营销实现方式解读
  • 石家庄哪家公司做网站好济南市最新消息
  • ps怎么做网站首页和超链接优化seo是什么意思
  • 如何做网站效果更好seo技术 快速网站排名
  • 做外贸网站有哪些seo入门培训班
  • 郴州网站优化优化设计电子版在哪找
  • 做平面设计应该在哪个网站求职11月将现新冠感染高峰
  • 有什么网站可以做宣传图片网站为什么要seo
  • 网站开发 方案 报价单seo服务外包公司
  • 网站为何不显示百度商桥对话框如何使用网络营销策略
  • seo怎么优化网站河南seo快速排名
  • 山东省建设银行网站长沙网站seo优化公司
  • 沧州国外网站建设中国最新领导班子
  • 网站上截小屏幕 怎么做怎么做网络推广最有效
  • ps设计素材网站深圳推广
  • 验证码平台网站开发哈尔滨seo关键词优化
  • 太原优化网站宁波seo推广公司排名
  • 新闻网站开发教程如何提升网站seo排名
  • 设计师网名女seo外包费用
  • 购物网站需要哪些模块日照高端网站建设
  • 长春模板网站建站疫情放开最新消息今天
  • 王建设医生个人网站吉林关键词优化的方法
  • dede模板网站教程推广的软件
  • 企业网站建设的要素有哪些十大最靠谱it培训机构
  • 那里可以做工作室做网站品牌推广案例
  • 城乡建设厅建筑特种作业证书查询优化手机性能的软件
  • 新冠疫苗接种率培训如何优化网站