使用聚合函数从 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);
我想知道是否可以使用 一些 聚合函数(在此处找到: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);