使用聚合函数从 MySql table 中删除?

Delete from MySql table using aggregate functions?

我想知道是否可以使用 一些 聚合函数(在此处找到:http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html

删除列

例如,假设我想从我的数据库中删除最后一个 user,如果我可以 运行:

就很容易了
delete from user where id = MAX(id);

但是运行宁这会给我以下错误:

ERROR 1111 (HY000): Invalid use of group function

mysql可以吗?

您必须使用这样的查询:

delete from user where id = (select id 
                             from (select MAX(id) as id 
                                   from user) as t)

尝试另一个 select 如下:

delete from user where id = (SELECT MAX(id) FROM user);

另一种选择是使用临时变量:

set @id = (select max(id) from user);
delete from user where id = @id;

您可以尝试类似的方法:

delete from user where id = (select max(id) from user);