我希望根据索引列的最大值从表中删除数据-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
子句中。我以这种格式离开它,因为它更匹配问题中的查询。
DELETE FROM Raw_Data
WHERE
Raw_Data.Date_Index > (Select MAX(Date_Index) - 23 from Raw_Data)