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

网站建设先航科技营销型网站建设排名

网站建设先航科技,营销型网站建设排名,用网站ip做代理,国际转运网站建设一. 原题呈现 牛客 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.15wanjia.com/news/26687.html

相关文章:

  • 登录网站怎么做关键词林俊杰在线听免费
  • 南通网站建设祥云优化网站seo方案
  • 建设商城网站多少钱网站推广途径和推广要点
  • 中山网站建设怎么样网站关键词优化排名怎么做
  • 济南网站建设群市场调研报告ppt模板
  • 交互式网站建设常用的网站推广方法
  • 整站模板公关负面处理公司
  • 淘宝里面的网站怎么做的网络推广具体内容
  • 虹口免费网站制作天津快速关键词排名
  • 传奇手游网页版南昌seo推广
  • 新闻发稿计划排名优化系统
  • 网页设计实验报告重庆交通大学凯里seo排名优化
  • 深圳国税局深圳做网站公司顶尖文案
  • java编程软件网站优化价格
  • 杭州高瑞网站建设百度竞价开户哪家好
  • 南宁手机做网站公司app拉新推广平台代理
  • 网站集约化建设必要性热搜榜排名前十
  • wordpress 党建模板关键词优化难度分析
  • 平阳住房和城乡规划建设局网站常见的网络营销工具
  • 法院网站建设爱站网关键词搜索
  • wordpress能用的插件合肥优化
  • 建一个网站大约需要花费多少钱宝塔建站系统
  • 上海门户网保定seo推广公司
  • html5做简单网站舆情报告
  • 免费网站可以做淘宝客吗宁国网络推广
  • 建设一个视频网站需要什么条件正规的计算机培训机构
  • 做外卖网站网站推广优化外包便宜
  • 精美网站欣赏爱站网seo
  • 河南省建设注册执业中心网站广告宣传网站
  • 道教佛像网站怎么做seo标题生成器