可以使用数据库的SQL语句来创建实时数据表,并按指定时间段和分组条件查询数据。

首先,创建实时数据表,包含字段tag_id、real_time和real_value。可以使用以下SQL语句创建表:

CREATE TABLE realtime_data (
    tag_id INT,
    real_time DATETIME,
    real_value DECIMAL(10, 2)
);

然后,每两秒写入一组数据到实时数据表。这可以通过程序或者定时任务来实现,具体的实现方式取决于你使用的数据库和编程语言。

接下来,按指定时间段和分组条件查询数据。假设你使用的是MySQL数据库,可以使用以下SQL语句来查询数据:

SELECT 
    DATE_FORMAT(real_time, '%Y-%m-%d %H:%i:00') AS time_group,
    AVG(real_value) AS avg_value
FROM 
    realtime_data
WHERE 
    real_time >= '2020-10-11 10:11:00' AND
    real_time <= '2020-10-15 10:11:00' AND
    TIME(real_time) NOT IN ('00:00:00', '00:15:00', '00:30:00', '00:45:00', '01:00:00', '01:15:00', '01:30:00', '01:45:00', '02:00:00', '02:15:00', '02:30:00', '02:45:00', '03:00:00', '03:15:00', '03:30:00', '03:45:00', '04:00:00', '04:15:00', '04:30:00', '04:45:00', '05:00:00', '05:15:00', '05:30:00', '05:45:00', '06:00:00', '06:15:00', '06:30:00', '06:45:00', '07:00:00', '07:15:00', '07:30:00', '07:45:00', '08:00:00', '08:15:00', '08:30:00', '08:45:00', '09:00:00', '09:15:00', '09:30:00', '09:45:00', '10:00:00', '10:15:00', '10:30:00', '10:45:00')
GROUP BY 
    time_group
ORDER BY 
    time_group;

以上SQL语句会按照起始时间累加15分钟进行分组,并计算每个分组的平均值。其中,realtime_data是实时数据表的表名,real_time是存储时间的字段,real_value是存储数值的字段。

注意,上述SQL语句中的时间段和排除的时间点是示例数据,你可以根据实际需求进行修改。另外,如果你使用的是其他数据库,可能需要根据具体的语法进行调整

创建一个实时数据表字段tag_idreal_timereal_value每两秒写入一组数据问:如何按指定时间段如2020-10-11 101100-2020-10-15 101100按15分钟为一组且时间不能为001530等整数而是按照起始时间累加15分钟进行分组

原文地址: https://www.cveoy.top/t/topic/irUY 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录