1

我需要这个查询:

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

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

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

4

1 回答 1

2

您可以为此使用 mysql 事件调度程序。这是一个示例,您当前的查询将数据插入名为“new_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

于 2015-03-28T21:46:14.780 回答