作业中要用到关于 日子对应值的相加譬如 日期id 3 对应 price 是34现在问题是要求我选定一个日期id 然后求出这个日期id 之前 15天的平均price值
现在我的思路是 先求出 id 和之前 14天的price SUM值 但是用 WHERE BETWEEN AND 这个语句 好像不能写成 X-14 AND X
新手刚学 求助 谢谢了
现在我的思路是 先求出 id 和之前 14天的price SUM值 但是用 WHERE BETWEEN AND 这个语句 好像不能写成 X-14 AND X
新手刚学 求助 谢谢了
mysq里面有日期处理函数,如:
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2009-08-25 13:47:52 |
+---------------------+
1 row in set (0.03 sec)mysql> select date_add(now(),interval -14 day);
+----------------------------------+
| date_add(now(),interval -14 day) |
+----------------------------------+
| 2009-08-11 13:48:11 |
+----------------------------------+
1 row in set (0.02 sec)mysql>
timeid 是一个整数类型 12 或者 30 都可以我的问题是如果我随机 选了一个timeid 是 25
我要算出25之前14天 一共的 price 总和 这样的话要怎么算
建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。问题说明越详细,回答也会越准确!参见如何提问。(提问的智慧)
but you must consider that the day of 1,and the statement is
where fldDate between 32-14 and 1
...
2 前14 天是哪些天,自然日?工作日?
3 前14天平均是从 -14,-13 , ... -1 这14天还是需要加上当天即 -14,-13,--,-1,0 这一共 15 天? 或者其它?
timeid 只是一个整数 不用去对应真实的日期格式 譬如我要第二十五天 我timeid就是25 这个意思
三个attribute : stockid timeid price题目要求 : 随机选一个timeid X 要求print出 这个 X 的十五天 price 平均值题目里有一个例子 是 两天平均值 stockid timeid price
1 4 10
1 5 20
1 6 30依着这个例子 timeid 为 5 的时候 两天平均值是 (10+ 20)/ 2 等于 15
timeid 为 6 的时候 两天平均值是 20+30 /2 为25
+---------+--------+-------+
| stockid | timeid | price |
+---------+--------+-------+
| 1 | 4 | 10 |
| 1 | 5 | 20 |
| 1 | 6 | 30 |
+---------+--------+-------+
3 rows in set (0.00 sec)mysql> -- timeid 为 5 的时候 两天平均值是 (10+ 20)/ 2 等于 15
mysql> select avg(price)
-> from stockid
-> where timeid between 5-1 and 5;
+------------+
| avg(price) |
+------------+
| 15.0000 |
+------------+
1 row in set (0.03 sec)mysql> -- timeid 为 6 的时候 两天平均值是 20+30 /2 为25
mysql> select avg(price)
-> from stockid
-> where timeid between 6-1 and 6;
+------------+
| avg(price) |
+------------+
| 25.0000 |
+------------+
1 row in set (0.00 sec)mysql>
谢谢了大哥 还有个要求 能不能在这个语句的基础上加一个东西 题目要求 print出 stockid 和timeid出来 stockid 我用group by 但是timeid 不知道要在哪里添加