安排 MySQL 每 24 小时查询一次;查询 table 并将结果存储在另一个 table

Schedule MySQL query every 24 hours; query table and store results in another table

我需要这个查询:

SELECT ItemID, Price 
        FROM table
        WHERE ItemID = %d
        GROUP BY Price
        ORDER BY COUNT(*) DESC LIMIT 1

-运行 每天一次,并将其结果存储在另一个 table 中,并带有查询的时间戳。

有什么方法可以自动查询所有可用的 ItemID 值吗?例如,如果有 20 个 ItemID 值可用,我需要 20 个单独的查询。

您可以为此使用 mysql 事件调度程序。这是一个示例,您当前的查询将数据插入名为 "new_table" 的 table,从 3 月 28 日凌晨 3 点开始。

DELIMITER $$

CREATE 
    EVENT `daily_backup` 
    ON SCHEDULE EVERY 1 DAY STARTS '2015-03-28 03:00:00' 
    DO BEGIN

        INSERT INTO new_table (ItemID, Price, Time) 
            SELECT ItemID, Price, NOW()
            FROM table
            WHERE ItemID = %d
            GROUP BY Price
            ORDER BY COUNT(*) DESC LIMIT 1;


    END */$$

您可以对其他查询执行相同的操作;它们可以放在同一个事件中,在 END

之前