mysql 删除最后一行在一个表中使用SQL查询?

3zwtqj6y  于 5个月前  发布在  Mysql
关注(0)|答案(5)|浏览(49)

我正在尝试使用MySql查询删除数据库中名为**“marks”**的表中的最后一条记录。
我为此尝试的查询如下:

DELETE MAX(`id`) FROM `marks`;

字符串
表中有8列。我想删除最后一列,但不指定id,如下所示:
DELETE FROM marks where id=8;
删除第8条记录后,我想删除第7条;在第6条之后,等等,直到第1条记录,而不手动指定id

osh3o9ms

osh3o9ms1#

如果id是自动递增的,则可以使用以下命令

delete from marks
order by id desc limit 1

字符串

hec6srdp

hec6srdp2#

@Abhshek的答案是正确的,对你有效,但如果id不是递增的,你也可以尝试下面的代码

DELETE FROM MARKS WHERE ID=(SELECT MAX(id) FROM MARKS)

字符串

w8ntj3qf

w8ntj3qf3#

这不是最好的解决方案,而是另一种解决方案。

DELETE FROM marks 
WHERE  id = (SELECT id 
             FROM   marks 
             ORDER  BY id DESC 
             LIMIT  1);

字符串

vnjpjtjt

vnjpjtjt4#

此查询使用子查询来标识每个group_id的MAX(row_id),然后删除与group_id和最大row_id都匹配的行。

DELETE FROM your_table
WHERE (group_id, row_id) IN (
    SELECT group_id, MAX(row_id)
    FROM your_table
    GROUP BY group_id
);

字符串

nwwlzxa7

nwwlzxa75#

删除第二个最后一行
从ID所在的表名中删除(从(从表名中选择ID,按ID描述限制1,1)作为ID);
如果使用其他查询,则会显示多个错误。

相关问题