求大神:SQL语句能删除除了最后一条数据(主键最大)的其他数据

现在唯一有规律的就是每次插入的主键值会增大。求大神指教啊。。最好有例子。。小人愚钝。。。

0

4个回答

delete from a where 主键<(select max(主键) from a)

0

delete from 表
where 主键 not in
(select top 1 主键 from 表 order by 主键 desc)

0

delete from 表名 where 主键名 !=(select max(主键名) from 表名 )

0

我发现,这里好多人不会提问。

-1
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
SQL删除一组记录中除ID最小的以外的所有记录
最近在业务系统中出现了bug,一部分用户的某种数据出现了多条重复,为了洗掉重复的数据,只保留第一次出现的数据,就有了标题中的需求。 假设现在系统中表test_copy1结构及数据如图所示: 那么要删除的就是id=999 id=1012、1013、1014和id=1015的数据 首先要选出要删除的记录,需要用到聚合函数和HAVING字句 SELECT id FROM test_cop
sql删除一个表中除了编号以外其他字段都相同的冗余记录
CREATE TABLE DEMO(ID INT, A VARCHAR(2), B VARCHAR(2), C VARCHAR(2), D VARCHAR(2));INSERT INTO DEMO SELECT * FROM ( SELECT 1, '1','2','3','4' FROM DUAL UNION ALL SELECT 2, '1','5','3','5'
SQL复制一条除了主键外的记录
select * into A_bak from A update A_bak set A_ID = NEWID() insert into A select * from A_bak
SQL删除表中所有除id不同外其他字段都相同的重复记录
SQL删除表中所有除id不同外其他字段都相同的重复记录 表结构如下: CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `co1` int(11) NOT NULL, `co2` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSE...
Oracle_删除除了指定的主键值外的其他数据
Oracle      删除除了指定的主键值外的其他数据   DELETE FROM EMP E WHERE E.EMPNO NOT IN (SELECT EMPNO FROM EMP WHERE EMPNO = 7369 OR EMPNO = 7499 OR EMPNO = 7521 ...
【每日一练:SQL】oracle使用一个SQL删除除了自动编号不同, 其他都相同的学生冗余信息
SQL题: 使用一个SQL删除除了自动编号不同, 其他都相同的学生冗余信息 自动编号   学号   姓名 课程编号 课程名称 分数 1        2018001 张三      1      数学    69 2        2018002 李四      1      数学    89 3        2018001 张三      1      数学    69 4        20...
sqlserver删除重复数据(有部分数据重复,id不同,其他相同)
select * from  ( select a.* from VI_CIC_PolicyCover a,VI_CIC_PolicyCover b  where a.PolicyNO=b.PolicyNo  and a.InsuredId=b.InsuredId and a.CoverName=b.CoverName and a.InsuredAmount=b.InsuredAmount  an...
SQL针对单列删除重复数据只保留一条id最大的数据
delete from t_student  where id in (  SELECT id from ( SELECT * from t_student   where  name in (select name  from t_student where  name is NOT NULL   group by name      having count(name) > 1)  a
用SQL语句删除除了id不同,其他都相同的学生表信息
delete from  wehere id not in (select max(id) from  group by  ) 将表中的数据按除ID之外的所有列进行分组   之后每个组的数据就是除了ID都相同的数据了   这样每个组只需保留一条记录即可  这是使用max(id)或者min(id)都可以 总之只要从每组取出一个id即可  然后将整个表中的记录id不在所选择出的id之列的全部
#oracle--删除以id为主键地重复记录,且只留下重复记录中第一条记录的sql语句
这道题是我面试一家金融软件公司的笔试题,该题如下所示: 如下表,是一张用户表,且uerid为主键,图如下所示。 要求能够通过一个sql语句删除所有重复的记录,并只留下重复记录中第一条记录的sql语句。 答案: delete from userinfo u3 where u3.userid in ( with aaa as(select u2.useri...
sql server 获取最后一条插入的记录的主键
declare @hisId int; set @hisId=0; INSERT INTO TScoreExchange (UserID, Score, [Type], [Time], UserUpperId, UserAreaId, UserLevel, UserOrganizationId) VALUES (0, 0, 0, getdate(), 0, 0, 0, 0) SELECT @his
一张表里面有ID自增主键,当insert了17条记录之后,删除了第15,16,17条记录,再把mysql重启,再insert一条记录,这条记录的ID是18还是15 ?
一般情况下,我们创建的表的类型是InnoDB,如果新增一条记录(不重启mysql的情况下),这条记录的id是18;但是如果重启(文中提到的)MySQL的话,这条记录的ID是15。因为InnoDB表只把自增主键的最大ID记录到内存中,所以重启数据库或者对表OPTIMIZE操作,都会使最大ID丢失。         但是,如果我们使用表的类型是MylSAM,那么这条记录的ID就是18。因为MylSAM...
删除除了id号不同,其他都相同的学生冗余信息
学生表如下: id号  学号  姓名课程编号课程名称分数 1       2005001  张三 0001     数学   69 2       2005002  李四 0001     数学   89 3       2005001  张三 0001     数学   69 A: delete from tablename where id号not in(select min(i
【mysql】sql删除多个字段重复数据有主键和没主键解决方法
table user      name age nub      张三    12  23      张三    12  23      张三    12  23      李四    13  21      李四    13  21      王五    11  25 查询重复记录(一条) sql:select * from user group by name,age,nu
MySQL-删除除id外其他内容都相同的数据
删除除id外其他内容都相同的数据 难点:自己不能删除自己,要进行多次转换 1.查询表中数据 [code=&quot;sql&quot;] select * from test ; [/code] [table] | id | name | value | | 1 | p | p | | 2 | p | p | | 3 | pp | pp | |...
SQL 取出UserID相同记录中的一条,并且取的是ID最大的。
SELECT * FROM Product WHERE (id IN(SELECT MAX([id])   FROM Product  GROUP BY userid))   ORDER BY id DESC 实际应用:用户发布产品时,保证列表页每个用户只显示最新的一条。
MySQL语句:获取最后一条记录(ID数值最大的) - - Java EE
使用升序排序,将ID数值最大的放到最底部。并显示出来。 order by % desc 表示按升序排序 select * from 表名 order by 表中ID字段名称 desc limit 0,1; 如: select * from userorder by user_id desc limit 0,1; ...
SQLSERVER 删除重复的数据(没有主键,数据完全一样)。
SQLSERVER 删除重复的数据(没有主键,数据完全一样)。 在Oracle中即使数据完全一样,也可以根据rowid来删除数据,SQLSERVER没有这种方法。 根据表中的数据进行不同的操作: 1、如果数据量不多,可以将数据去重,插入到新表中。然后删除旧表,重命名新表。      select distinct * INTO B from A;     drop table A;    ...
mysql删除重复数据只保留id最大一条记录
mysql删除重复数据只保留id最大一条记录
SQL删除id号不同,其他都相同的学生冗余信息
.学生表 如下:                   id号 学号 姓名 课程编号 课程名称 分数                   1 2005001 张三 0001 数学 69                   2 2005002 李四 0001 数学 89                   3 2005001 张三 0001 数学 69                   A
剔除除了自动编号不同,其他都相同的学生冗余信息
转载网址: http://www.myexception.cn/java-web/1002598.html
mysql面试题: 一张表里面有ID自增主键,当insert了17条记录之后,删除了第15,16,17条记录,再把mysql重启,再insert一条记录,这条记录的ID是18还是15
一般情况下,我们创建的表的类型是InnoDB,如果新增一条记录(不重启mysql的情况下),这条记录的id是18;但是如果重启(文中提到的)MySQL的话,这条记录的ID是15。因为InnoDB表只把自增主键的最大ID记录到内存中,所以重启数据库或者对表OPTIMIZE操作,都会使最大ID丢失。         但是,如果我们使用表的类型是MylSAM,那么这条记录的ID就是18。因为MylSAM...
2014.6.12 MySQL 分组后删除每组中的重复数据,只保留一条数据
/*建立临时表*/ CREATE TABLE tmp AS SELECT MAX(n.nid) AS tmpid FROM notification n WHERE 1 = 1 AND dlt = 'normal' AND type = 'private' AND create_person = '系统' GROUP BY receiver, TO_DAYS(time); /*根据临时表数据来删
SQL删除重复数据,并保留GUID最小的一条数据
操作步骤 1、首先,查找表中每一个重复数据的最小GUID的一条数据,重复记录是根据单个字段(repeat)来判断: select * from Table t where t.GUID=(select min(a.GUID) from Table a where a.repeat=t.repeat) 2、查出除了第一步的所有数据: select * from Table s where
SQL 语句 删除最老记录和条件删除记录的三方法
SQL语句 删除最老记录和条件删除记录的三方法
SQL删除重复数据,保留ID最大的一条
在数据库中可能会存在重复数据,需要删除并且保留其中一条 ,这里我们保留其中id最大的一条 DELETE FROM T_Dat_BankData WHERE BankCode IN ( SELECT BankCode FROM T_Dat_BankData GROUP BY BankCode HAVING COUNT ( BankCode ) &amp;gt; 1 ) AND ID NOT ...
sql删除一条记录后其他记录的id自动迁移,使id连续
在写一个应用时,有这么一个操作:客户端传过来点击的位置,进行运算后得到相应数据在数据库里的id,然后显示对应的信息。但是在进行delete后数据显示就混乱了,发现根本原因是原本连续的数据id(例如:1、2、3、4),在sqlite的delete语句执行完后(比如说删除id为2的数据),变得不连续(1、3、4)。删除后点击第三个数据,结果他显示成第二个,而第二个早就删除了,因此显示的信息完全混乱。解决
SQL高级操作之三——删除数据(删除数据后如何修改主键自增长值使得新增数据后自增长id仍然连续)
删除数据   1、 删除数据的时候尽量不要全部删除,应该使用where进行 判定; 2、 删除数据的时候可以使用limit来限制要删除的具体数量 Delete删除数据的时候无法重置auto_increment(可以看看) (1)创建带自增长主键的表 (2)插入三条数据 (3)把id为2,3的两行数据删除然后再新增一条,然后再新增一条数据,我们知道再次新增时,新增行id会变为4...
sql获取每一个类别中值最大的一条数据
/* 数据如下: name val memo a 2 a2(a的第二个值) a 1 a1--a的第一个值 a 3 a3:a的第三个值 b 1 b1--b的第一个值 b 3 b3:b的第三个值 b 2 b2b2b2b2 b 4 b4b4 b 5 b5b5b5b5b5 */ --创建表并插入数据: create tabl...
sqlite删除数据时主键不能更新
当你在用sqlite数据库是,会有一个问题,当你删除database的数据时,主键并不会自动更新,比如1,2,3,4,当你删掉3时,会变成1,2,4,再往database插入数据时,就变成了1,2,4,5.这就会导致如果你用主键查询时,尤其是在listview连接database的情况下,删掉一些条目后就不能删了。捡起用其他的变量筛选条目,不要使用主键
一条简单sql语句,按排序删除
按照时间排序,删除前面的几行 1、 delete from t from (select top(10)* from table1 order by time desc) as t 2、 delete  t  from (select top(10) * from table1 order by time desc ) as t 写法不一样,t其实都是一样。
sql分组取排序最大一条的id
在做项目中,难免遇到这些逻辑,记录下来表tablea,以groupid分组,取sortid最大的一条数据select a.* from tablea as a where not exists(select 1 from tablea as b where a.groupid=b.groupid and (a.sortid=b.sortid and a.id&amp;lt;b.id or a.sortid...
更新最后一条记录
//修改最后一条记录 UPDATE userinfo set userid='55' WHERE 1 ORDER BY userid DESC LIMIT 1 //删除第一条记录 delete from userinfo where 1 order by userid limit 1 ====================================== mysql>
利用主键删除重复数据
delete a from yjj_RoleAuthority a join (select count(*),RoleId, AuthorityId, max(Id) as id from yjj_RoleAuthority group by RoleId,AuthorityId having count(*) > 1 ) b on a.RoleId = b.RoleId an
SQLServer 删除表中的除ID不同的重复数据
SQLServer 删除表中的重复数据 1、根据HXM字段查询表中重复的数据 select HXM from T_contract_trading_inquiry_Ht where FKSQ_ID=’” + fksq_id + “’ group by HXM having count(HXM) &amp;amp;amp;amp;gt; 1 2、检查表中是否有主键或者唯一值的列,从数据看到IDPZ是唯...
【Mysql】只保留最新的10条数据,其余数据删除的sql语句怎么写
author:咔咔 wechat:fangkangfk   $id获取的数据的前9条,数据出来是一个二维数组,格式如下 然后将id组装为一维数组,使用tp5的whereNotIn来讲不是在这前9个的id的数据全部删掉,然后在新加一条数据整好是10条数据  $id = Db::query(&quot;select el_id from tm_error_log order by el_id d...
SQL语句:按时间查询最新的一条数据
select * from( select * from lz_global_result t order by t.time desc ) a where rownum 高效率的哦。呵呵
Sql 查询一个表中符合条件的且某一项为最大的记录
Sql 查询一个表中符合条件的且某一项为最大的记录
Android 数据库 删除记录后 _id正常指向记录位置
Android自带的数据库不支持主键id的改动,删除一个中间的记录后id变得断断续续的,id将无法正确指明记录的正确位置。于是新增加一列integer型的_id替代id,对应记录的真实位置,在创建表,删除记录,添加记录时对它进行相应改动,使它在正确的始终指向记录。 下面举一例: (1)创建表。在原有的列中多增一列_id:String sql = "create table Note(" + "i
SQL_多条记录中取最大日期的记录
1 数据库中有如下的数据,想取不同ID对应的日期为最大日期的记录 SELECT * FROM My_Table A WHERE A.LEASERENTDETAIL_ID IN( SELECT MAX(B.LEASERENTDETAIL_ID) FROM My_Table B GROUP BY B.LEASECONTRACT_ID ,TO_CHAR(B.
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 java大神班 大数据大神班