[英]SQL Deleting data based on max value of column
I am looking to delete data from a table based on the max value of an index column - 23. Error received is 'In valid use of group function' 我正在基于索引列的最大值-23从表中删除数据。收到的错误是“有效使用组函数”
Currently Have: 目前拥有:
DELETE FROM Raw_Data
WHERE
Raw_Data.Date_Index > MAX(`Date_Index`) - 23
Thanks 谢谢
You can use JOIN
: 您可以使用
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;
Note: This uses CROSS JOIN
. 注意:这使用
CROSS JOIN
。 You can put the condition in an ON
clause instead of a WHERE
clause. 您可以将条件放在
ON
子句中,而不是WHERE
子句中。 I'm leaving it in this format because it more closely matches the query in the question. 我将其保留为这种格式,因为它与问题中的查询更加匹配。
DELETE FROM Raw_Data
WHERE
Raw_Data.Date_Index > (Select MAX(Date_Index) - 23 from Raw_Data)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.