我希望根据索引列的最大值 - 23 从表中删除数据。收到的错误是“有效使用组函数”
目前有:
DELETE FROM Raw_Data
WHERE
Raw_Data.Date_Index > MAX(`Date_Index`) - 23
谢谢
最佳答案
您可以使用JOIN
:
DELETE rd
FROM Raw_Data rd CROSS JOIN
(SELECT MAX(Date_Index) as maxdi FROM Raw_data) m
WHERE rd.Date_Index > maxdi - interval 23 days;
注意:这使用CROSS JOIN
。您可以将条件放在 ON
子句中,而不是放在 WHERE
子句中。我将其保留为这种格式,因为它更符合问题中的查询。
关于mysql - SQL根据列的最大值删除数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44271648/