Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql每5个数据的总和_Mysql_Sql - Fatal编程技术网

Mysql每5个数据的总和

Mysql每5个数据的总和,mysql,sql,Mysql,Sql,您好,我有一个名为eod的表,其中按日期显示了大量数据。以下是该表的架构: +------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+-------------+------+-----+---------+----------------+ | ID

您好,我有一个名为eod的表,其中按日期显示了大量数据。以下是该表的架构:

+------------+-------------+------+-----+---------+----------------+
| Field      | Type        | Null | Key | Default | Extra          |
+------------+-------------+------+-----+---------+----------------+
| ID         | int(11)     | NO   | PRI | NULL    | auto_increment |
| ticker     | varchar(20) | NO   | MUL | NULL    |                |
| entry_date | date        | NO   | MUL | NULL    |                |
| high       | float(10,2) | NO   | MUL | NULL    |                |
| low        | float(10,2) | NO   | MUL | NULL    |                |
| close      | float(10,2) | NO   | MUL | NULL    |                |
| vol        | int(11)     | NO   | MUL | NULL    |                |
+------------+-------------+------+-----+---------+----------------+
以下是一些数据示例:

+----+-----------+------------+------+------+-------+--------+
| ID | ticker    | entry_date | high | low  | close | vol    |
+----+-----------+------------+------+------+-------+--------+
|  1 | x         | 2013-02-20 | 6.70 | 6.50 |  6.50 | 136500 |
|  2 | y         | 2013-02-24 | 6.60 | 6.40 |  6.40 | 174500 |
|  3 | z         | 2013-02-25 | 6.60 | 6.40 |  6.40 | 214000 |
|  4 | x         | 2013-02-26 | 6.50 | 6.30 |  6.40 | 238000 |
|  5 | x         | 2013-02-27 | 6.50 | 6.20 |  6.20 | 279000 |
|  6 | a         | 2013-02-28 | 6.20 | 6.00 |  6.00 | 260500 |
|  7 | x         | 2013-03-03 | 6.10 | 5.70 |  5.70 | 131000 |
|  8 | a         | 2013-03-04 | 6.10 | 5.80 |  6.00 | 150000 |
|  9 | x         | 2013-03-05 | 6.20 | 6.00 |  6.00 |  95000 |
| 10 | z         | 2013-03-06 | 6.10 | 6.00 |  6.00 |  84000 |
+----+-----------+------------+------+------+-------+--------+
我想知道如何得到每5卷的总和,即从ID 1到5,然后从ID 6到10….继续通过ticker

很抱歉第一次造成混乱。

试试这个

 SELECT SUM(vol) 
 FROM  (
               SELECT  vol, TRUNCATE(id/5,0) AS  id 
                FROM  eod) AS  t 
 GROUP  BY  id 
未测试但逻辑正确

请尝试以下操作:

SELECT sum(column), floor((id-1)/5) + 1 as min_id
FROM table_name
GROUP BY min_id

所有子查询的目的是什么?第一个子查询用于查找当前价格与最小价格的差异,第二个子查询用于查找价格位置公式为当前最小/最大最小但您不想查找差异!?!?现在我很困惑。当你说“3个月内”。。。在3个月内发生什么?而且,你也不想用float来做这个。将其更改为DECIMALPlus,此查询是无效的-即使不是,它也会返回一个与“3个月”无关的空结果集,因此您没有完全告诉我们所有信息!