我有一个股票报价表,看起来像这样:
id, date, stock_id, value
每天每个 stock_id 都有几行(每五分钟自动更新一次),所以目前表很大。
我如何为每个 stock_id 每天删除除最后一行以外的每一行?
最佳答案
其他答案并不能确保每个 stock_id
每天至少保留一条记录。以下应该做你想做的。
DELETE FROM StockQuotes
WHERE id NOT IN (
SELECT MAX(id)
FROM StockQuotes
GROUP BY stock_id, DATE(`date`)
)
假设 id
是一个按顺序自动编号的字段,而 date
是一个至少包含日期的日期时间字段,但我包含小时、分钟、秒等.还有。
关于sql - 如何删除每天除最后一行以外的每一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2790738/