如果行中的两列在其列中具有最大值,我将尝试删除行。或者它同时具有 MIN 列和 MAX 列。
BEGIN
DELETE FROM scores WHERE (second, third)
IN ((MAX(second),MAX(third)));
select * from scores;
END
我有三列,第一、第二和第三。我尝试从上面的查询中执行的操作是,如果第二个和第三个在其列中具有最大值,则尝试删除行。它给了我一个错误。
ERROR 1111 (HY000) at line 70: Invalid use of group function
我该如何解决这个问题?
最佳答案
你需要分别写两个条件,试试这个:
DELETE s.* FROM scores s
WHERE second = (SELECT second FROM (SELECT MAX(second) AS second FROM scores) a)
AND third = (SELECT third FROM (SELECT MAX(third) AS third FROM scores) b);
关于mysql - 如果该行具有特定值,则从 MYSQL 中删除该行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43560560/