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

标签 mysql sql mysql-event

我需要这个查询:

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

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

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

最佳答案

您可以为此使用 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

之前

关于mysql - 每 24 小时安排一次 MySQL 查询;查询表并将结果存储在另一个表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29322815/

相关文章:

mysql - 事件 sql 脚本中的 MySQL 语法错误。已使用 Delimeter

mysql - 使用 mysql 每月用随机字符串更新所有行

mysql - 如何在sql中连接两个表

php - MYSQL 将行提取到页面中

mysql - 按具体编号及之后查询顺序,按升序排序

sql - 与SQL Server项目或项目中本地mdf文件持续集成的最佳实践

mysql突然暂时忽略表索引

mysql - SQL 返回 double 数据(可能是错误的 SQL 查询)

c# - 具有现有数据库和具有多个源的类的 Entity Framework 与手动存储过程

mysql - 为什么 MySQL 5.7 Even Scheduler START 日期时间与 CREATE/ALTER EVENT START 时间不匹配?