我希望根据索引列的最大值从表中删除数据 - 23.收到的错误是“有效使用组功能”
目前有:
DELETE FROM Raw_Data
WHERE
Raw_Data.Date_Index > MAX(`Date_Index`) - 23
由于
答案 0 :(得分:0)
您可以使用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
子句中。我将其保留为此格式,因为它与问题中的查询更匹配。
答案 1 :(得分:0)
DELETE FROM Raw_Data
WHERE
Raw_Data.Date_Index > (Select MAX(Date_Index) - 23 from Raw_Data)