我正在尝试使用MySql查询删除数据库中名为**“marks”**的表中的最后一条记录。我为此尝试的查询如下:
DELETE MAX(`id`) FROM `marks`;
字符串表中有8列。我想删除最后一列,但不指定id,如下所示:DELETE FROM marks where id=8;个删除第8条记录后,我想删除第7条;在第6条之后,等等,直到第1条记录,而不手动指定id。
id
DELETE FROM marks where id=8;
osh3o9ms1#
如果id是自动递增的,则可以使用以下命令
delete from marks order by id desc limit 1
字符串
hec6srdp2#
@Abhshek的答案是正确的,对你有效,但如果id不是递增的,你也可以尝试下面的代码
DELETE FROM MARKS WHERE ID=(SELECT MAX(id) FROM MARKS)
w8ntj3qf3#
这不是最好的解决方案,而是另一种解决方案。
DELETE FROM marks WHERE id = (SELECT id FROM marks ORDER BY id DESC LIMIT 1);
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 );
nwwlzxa75#
删除第二个最后一行从ID所在的表名中删除(从(从表名中选择ID,按ID描述限制1,1)作为ID);如果使用其他查询,则会显示多个错误。
5条答案
按热度按时间osh3o9ms1#
如果
id
是自动递增的,则可以使用以下命令字符串
hec6srdp2#
@Abhshek的答案是正确的,对你有效,但如果id不是递增的,你也可以尝试下面的代码
字符串
w8ntj3qf3#
这不是最好的解决方案,而是另一种解决方案。
字符串
vnjpjtjt4#
此查询使用子查询来标识每个group_id的MAX(row_id),然后删除与group_id和最大row_id都匹配的行。
字符串
nwwlzxa75#
删除第二个最后一行
从ID所在的表名中删除(从(从表名中选择ID,按ID描述限制1,1)作为ID);
如果使用其他查询,则会显示多个错误。