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

南皮县网站建设公司2022今天刚刚发生地震了

南皮县网站建设公司,2022今天刚刚发生地震了,在临沂做网站,网站后台添加东西不能粘贴一. 原题呈现 牛客 SQL236. 删除emp_no重复的记录,只保留最小的id对应的记录。 描述: 删除emp_no重复的记录,只保留最小的id对应的记录。 drop table if exists titles_test; CREATE TABLE titles_test (id int(11) not null primary key…

一. 原题呈现

牛客 SQL236. 删除emp_no重复的记录,只保留最小的id对应的记录。

描述:

删除emp_no重复的记录,只保留最小的id对应的记录。

drop table if exists titles_test;
CREATE TABLE titles_test (id int(11) not null primary key,emp_no  int(11) NOT NULL,title  varchar(50) NOT NULL,from_date  date NOT NULL,to_date  date DEFAULT NULL);insert into titles_test values
('1', '10001', 'Senior Engineer', '1986-06-26', '9999-01-01'),
('2', '10002', 'Staff', '1996-08-03', '9999-01-01'),
('3', '10003', 'Senior Engineer', '1995-12-03', '9999-01-01'),
('4', '10004', 'Senior Engineer', '1995-12-03', '9999-01-01'),
('5', '10001', 'Senior Engineer', '1986-06-26', '9999-01-01'),
('6', '10002', 'Staff', '1996-08-03', '9999-01-01'),
('7', '10003', 'Senior Engineer', '1995-12-03', '9999-01-01');

 

二. 题目分析与解答

1.高赞歧义解答

参考于【4】:

delete from titles_test where id not in(select min(id) from  titles_test group by emp_no
)

 此方法思路是对的,但是在OJ中会出错,出错原因可参考第三章节。

2.join方法

delete from titles_test where id in(select * from (select t1.id from titles_test t1 join titles_test t2on t1.id > t2.idwhere t1.emp_no = t2.emp_no)t1
)

自连接,通过 t1.emp_no = t2.emp_no,筛选出t1.id > t2.id,并删除,此时依然需要额外用别表。

下面的解法依然会报错"You can't specify target table 'titles_test' for update in FROM clause"

delete from titles_test where id in(select t1.id from titles_test t1 join titles_test t2on t1.id > t2.idwhere t1.emp_no = t2.emp_no
)

 

3.group by妙用

        在高赞歧义解答中,使用group by聚合每个emp_no中的最小值,以此来选出最小的id,在后续的操作中只需要选出不是最小id的条目即可。

三. "You can't specify target table 'titles_test' for update in FROM clause"

出错原因参考【1】:

 

简单来说就是  同表不支持 update 子查询的结果 

而sqllite可以这样做

更改方法【2】:

delete from  titles_test where id not in(select * from(select min(id) from  titles_test group by emp_no)t1
)

另外,t1的别名是不可省略的,否则会出错,可参考【3】:

ERROR 1248 (42000): Every derived table must have its own alias

简单来说就是 子查询的结果需要作为一个表交给上一层查询,需要列别名

 

参考来源

【1】博客园  缥缈之旅 ERROR 1093

【2】牛客 野生的桔子  SQL239

【3】爱佳男士 1248 - Every derived table must have its own alias (MYSQL错误)

【4】牛客 ciphersaw  SQL239

http://www.hkea.cn/news/815248/

相关文章:

  • 唯品会 一家专门做特卖的网站沈阳seo按天计费
  • 聊城手机网站建设郑州seo服务技术
  • 个人定做衣服店江门seo推广公司
  • 网站开发与网站建设山东济南seo整站优化费用
  • 香港疫情最新消息今天深圳seo教程
  • 维护一个网站难吗免费发布外链
  • 南安市网站建设成都今天重大新闻事件
  • 网站后台补丁如何做软文有哪几种类型
  • 网站建设的费用包括哪些内容资讯门户类网站有哪些
  • 一站式服务图片制作网页的基本步骤
  • 个人网站建设网站网络网站推广
  • asp做的药店网站模板北京百度快照推广公司
  • 网站建设泉州效率网络seo的优化策略有哪些
  • 页网站无锡网站制作推广
  • 一流的龙岗网站建设目前最靠谱的推广平台
  • 企业营销型网站费用短视频推广引流
  • 化妆品可做的团购网站有哪些seo研究中心南宁线下
  • 网站空间域名是什么做电商必备的几个软件
  • 软件公司运营是做什么的seo公司运营
  • 专业云南做网站福州短视频seo服务
  • 网站开发技术期中试题电商培训机构排名
  • 网站设计连接数据库怎么做如何进行百度推广
  • 日本网站图片做淘宝代购网络营销促销方案
  • 网站开发导航栏网站制作的费用
  • 盐城网站设计网站流量统计工具
  • 网站上如何做相关推荐郑州建网站的公司
  • 漂亮大气的装潢室内设计网站模板 单页式html5网页模板包前端优化
  • 论坛网站开发开题报告青岛百度推广多少钱
  • 文山做网站如何优化百度seo排名
  • 上海展陈设计公司有哪些成都网站seo性价比高