通过特定的表记录值进行迭代,以用于从另一个表中过滤查询

问题描述 投票:1回答:1

有一个名为Tbl的临时表,它是根据查询创建的(可能与知道无关)可以在任何特定日期运行,但通常只是当前日期(CURDATE()),其中始终只有两个BatNum(批号)记录,其中最旧的TimeStr将是开始时间,最新的TimeStr将是每个BatNum的结束时间。

这些是我们开始的记录,所以这里没有问题,但这是我们从另一个表中获得的所有内容。虽然在我提供的这个小例子中有三组不同的BatNum记录(1,2,3),但可能只有1或最多可能有30。

Tbl表

enter image description here


Tbl解释

enter image description here


My SQL Fiddle

我在这里用SQL Fiddle表中的一小部分数据创建了一个Weight,为了防万一,我在Raw SQL部分中放了一些更大的数据样本。

这些只是按照特定范围记录的来自Weights表的数据的缩小样本,但对于给定批次(即,每个BatNum组),它可以是50,000,25,000等。


我的问题

我把这个逻辑放到一个存储过程中,如果对MySQL有任何意义的话。

  • 我试图以某种方式从Tbl表中为每个TimeStr分组(总是两个)的两个BatNum值记录中的每一个,使用那些从Weight表获取记录,然后汇总该数据(每个分组)与各种功能等,无论需要什么记录。

我的想法(呃哦...... spaghettios)

我不确定我是否可以动态创建一个@StartTime和一个@EndTime变量,并从每个BatNumTimeStr值迭代它们的值,然后在MySQL中使用另一个查询等。

  • 例如,我可以运行这种类型的过滤(WHERE TimeStr BETWEEN @StartTime AND @EndTime)和每个BatNum组(例如三个)的查询,每个查询中的@StartTime@EndTime值被设置为每个TimeStr组的BatNum值 - 但我可以使用MIN(TimeStr)MAX(TimeStr),或者ORDER BY TimeStr [ASC/DESC] LIMIT 1知道哪个是开始,哪个是相应的结束。

为了给你一个想法,从BatNum每个Tbl组迭代的值的例子是:

从BatNum = 1记录(迭代1)

  • SET @StartTime = '2017-12-14 06:12:31';
  • SET @EndTime = '2017-12-14 07:45:55';
  • SET @val = 15;

来自BatNum = 2条记录(迭代2)

  • SET @StartTime = '2017-12-14 07:45:56';
  • SET @EndTime = '2017-12-14 12:15:51';
  • SET @val = 12;

来自BatNum = 3条记录(迭代3)

  • SET @StartTime = '2017-12-14 12:15:52';
  • SET @EndTime = '2017-12-14 16:20:58';
  • SET @val = 15;

最后,例如,我可能需要使用类似的东西:

SELECT  @Val            oz
        , COUNT(Value)  count
        , AVG(Value)    average
        , STDDEV(Value) stddev
FROM Weights 
WHERE TimeStr BETWEEN @StartTime AND @EndTime; 

我只是不确定如何最好地处理来自BatNum表的每个Tbl组的记录,所以我想我会请求一些帮助。


别忘了:


原始SQL

CREATE TABLE `Tbl` (
  `BatNum` int NOT NULL,
  `TimeStr` datetime NOT NULL,
  `Value` float NOT NULL,
  KEY `idx_TimeStr` (`TimeStr`)
);

INSERT INTO `Tbl` (`BatNum`,`TimeStr`,`Value`) VALUES (1,'2017-12-14 06:12:31',15);
INSERT INTO `Tbl` (`BatNum`,`TimeStr`,`Value`) VALUES (1,'2017-12-14 07:45:55',15);
INSERT INTO `Tbl` (`BatNum`,`TimeStr`,`Value`) VALUES (2,'2017-12-14 07:45:56',12);
INSERT INTO `Tbl` (`BatNum`,`TimeStr`,`Value`) VALUES (2,'2017-12-14 12:15:51',12);
INSERT INTO `Tbl` (`BatNum`,`TimeStr`,`Value`) VALUES (3,'2017-12-14 12:15:52',15);
INSERT INTO `Tbl` (`BatNum`,`TimeStr`,`Value`) VALUES (3,'2017-12-14 16:20:58',15);

CREATE TABLE `Weights` (
  `TimeStr` datetime NOT NULL,
  `Value` float NOT NULL,
  KEY `idx_TimeStr` (`TimeStr`)
);

INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:12:31',431);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:12:44',431.2);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:12:51',430.7);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:12:59',431.2);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:13:08',430.9);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:13:14',431.3);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:13:20',431.1);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:13:26',431);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:13:40',431.2);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:13:47',430.7);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:17:58',442);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:17:59',461.6);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:17:59',367.1);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:18:00',361.6);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:18:00',381);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:18:01',382.5);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:18:01',380.3);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:18:02',370);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:18:03',432.3);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:18:03',466.6);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:18:04',397.8);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:18:04',439.9);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:18:04',459.3);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:18:05',430.8);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:18:05',385.8);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:18:06',380);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:18:06',386.5);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:18:07',395.3);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:18:07',405.2);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:18:08',387.8);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:18:08',379.4);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:18:09',373.7);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:18:09',372.1);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:18:09',368.3);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:18:10',374.8);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:18:10',386.9);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:18:11',403.2);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:18:11',405.2);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:18:12',409.1);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:18:13',403.6);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:18:13',389);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:18:14',423.8);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:18:14',412.9);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:18:15',407.9);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:18:15',386.5);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:18:16',421);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:18:16',367.2);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:18:16',375.5);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:18:17',373.6);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 06:18:17',376);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:49',377.2);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:49',443);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:48',439.9);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:47',439.6);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:46',0);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:46',453.9);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:45',453);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:45',447.5);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:44',465.5);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:44',457.9);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:43',436.6);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:43',440.8);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:42',447.1);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:42',439);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:41',438.9);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:41',438);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:40',432);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:40',433.9);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:40',443.9);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:39',457);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:39',444.1);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:38',457.5);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:38',463.6);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:37',441.2);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:37',435);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:36',445.8);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:36',433.9);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:35',435.9);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:35',438.6);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:34',433);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:34',431.2);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:33',436.2);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:33',453.3);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:33',451.1);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:32',454.6);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:32',466.8);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:31',433.5);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:30',448.8);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:30',446);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:29',438.8);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:29',439.9);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:28',443.2);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:28',435.7);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:27',443.1);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:27',453);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:27',457.1);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:26',456.3);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:26',462.4);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:25',469.9);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:44:25',444.3);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:49:13',352.8);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:49:19',352.4);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:49:26',352.7);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:49:33',352.5);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:49:40',352.8);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:49:47',352.5);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:49:53',352.7);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:50:00',352.5);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:50:06',352.7);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:50:13',352.6);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:11',358.7);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:11',0);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:16',377.2);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:16',0);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:18',375.9);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:19',376.4);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:19',377.7);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:19',377.3);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:20',380.6);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:20',381.7);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:21',380.5);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:22',376);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:22',376.4);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:22',377.3);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:23',378.3);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:23',381.3);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:24',380.1);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:24',378);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:25',380.4);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:26',385.4);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:26',387.6);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:26',389.8);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:27',399.9);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:27',406.6);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:27',0);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:29',394.7);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:29',395.4);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:30',407.1);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:30',417.8);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:30',433.6);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:31',418.8);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:31',0);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:33',426.2);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:33',448);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:34',453);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:34',450.1);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:34',435.9);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:35',432.6);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:35',441.2);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 07:58:36',460.8);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:22',381.8);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:21',379);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:21',378.4);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:20',373);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:19',0);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:18',377.3);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:18',375.2);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:18',374.5);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:17',375);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:17',380);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:16',382.3);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:16',378.6);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:15',380.9);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:15',377.3);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:15',374.6);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:14',377.5);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:14',380);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:13',383);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:13',381);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:13',374.6);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:12',375.6);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:12',376.7);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:11',383.2);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:11',385);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:10',379.2);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:10',384.7);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:09',390.6);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:09',380.6);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:09',375.5);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:08',376.5);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:08',379.1);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:07',379.3);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:07',378.3);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:06',376.7);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:06',376.5);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:06',374.6);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:05',380.8);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:05',382.6);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:04',383);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:04',380.6);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:03',376);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:03',372.7);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:03',376.9);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:02',383.3);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:02',381.3);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:01',379.7);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:01',377.2);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:00',374);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:15:00',378);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:14:59',379);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:19:03',427.3);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:19:09',427.1);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:19:15',427);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:19:21',427.4);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:19:27',427.5);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:19:33',427.2);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:19:39',427);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:19:46',427.5);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:19:59',427.4);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:01',425.3);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:02',434);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:02',418.2);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:03',429.6);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:03',479.4);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:04',454.3);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:04',415.2);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:04',416.2);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:05',396.1);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:05',400.8);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:06',395.7);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:06',410.8);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:07',440);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:07',426.2);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:08',471);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:08',384.4);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:09',469.9);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:09',433.8);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:09',440.9);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:10',472.2);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:11',425.9);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:11',473.3);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:12',386);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:12',384.7);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:13',443.5);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:13',434.1);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:13',457.8);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:14',417.9);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:14',422.1);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:15',464.1);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:16',475);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:16',427);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:17',445);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:18',456.4);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:18',459.4);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:19',441.7);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:19',483.2);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:20',411);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:20',489.9);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:21',453.8);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 12:23:21',474);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:20:58',426.4);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:20:57',446.5);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:20:57',396.2);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:20:57',483.3);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:20:56',419.9);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:20:56',427.5);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:20:55',407.5);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:20:55',402);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:20:54',435.4);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:20:54',406.9);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:20:53',421);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:20:53',437.8);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:20:53',432.2);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:20:52',400.2);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:20:52',426.5);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:20:51',472.3);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:20:51',419.4);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:20:50',447.6);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:20:50',420.8);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:20:50',428.9);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:20:49',463.5);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:20:49',453.7);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:20:42',457.3);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:20:42',461.1);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:20:41',461.3);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:20:40',456.6);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:14:47',455.6);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:14:44',453.6);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:14:43',456.7);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:14:42',457.2);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:14:42',450.8);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:14:41',446.4);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:14:41',443.7);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:14:40',448.6);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:14:40',445.7);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:14:39',441.8);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:14:39',439.3);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:14:38',435.2);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:14:38',433.2);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:14:37',433.5);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:14:37',434.6);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:14:36',430.7);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:14:36',425.6);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:14:36',425.4);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:14:35',426);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:14:35',422);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:14:34',421.2);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:14:34',420.9);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:14:33',420.2);
INSERT INTO `Weights` (`TimeStr`,`Value`) VALUES ('2017-12-14 16:14:33',422.4);
mysql sql
1个回答
1
投票

我认为您不需要存储过程,但您需要一个(或多个)视图或临时表,其中批量编号和重量(oz)与权重表中的权重相关联。完成后,您可以从该视图创建任何类型的聚合值。

以下是为您提供临时表的查询。

SELECT p.`Value`, q.BatNum, q.Value oz
FROM `weights` p
LEFT JOIN 
  (SELECT a.BatNum BatNum, a.TimeStr sTime, b.TimeStr eTime, a.value Value
   FROM Tbl a
   LEFT JOIN Tbl b ON (a.BatNum = b.BatNum)
   WHERE a.TimeStr < b.TimeStr) q 
  ON (p.`TimeStr` BETWEEN q.sTime and q.eTime)

这应该给你一个如下输出:

Value     BatNum    oz
431       1         15
431.2     1         15
...  
....
352.8     2         12
352.4     2         12
......
.....
427.3     3         15
427.1     3         15
.....
.....

从上面的表或视图中,您可以创建最终查询,例如

SELECT oz, count(value), avg(value)
FROM createdView
GROUP BY BatNum

如果您使用的是mysql,那么创建视图比直接从此处复制查询需要更多的努力。在从大数据生成更快结果的情况下,您可能还需要优化查询。

© www.soinside.com 2019 - 2024. All rights reserved.