安排 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
之前
我需要这个查询:
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