MySQL查询以获取每个月数据的平均值数组

标签 mysql sql arrays

我有一个名为 historical_currencies_rate 的表,其中保存了一些已知货币的过去 8 年的汇率。例如(欧元-美元)。表格看起来像这样

+---------------------------+---------------+------------+
|       rate_date           | currency_pair |    rate    |
+---------------------------+---------------+------------+
|       2006-01-01          |    EUR-USD    |  1.1797    |
|       2006-02-01          |    EUR-USD    |  1.1826    |
|       2006-03-01          |    EUR-USD    |  1.1875    |
|       2006-04-01          |    EUR-USD    |  1.2083    |
|       2006-05-01          |    EUR-USD    |  1.2088    |
|       2006-06-01          |    EUR-USD    |  1.2093    |
|       2006-07-01          |    EUR-USD    |  1.2093    |
|       2006-08-01          |    EUR-USD    |  1.2093    |
|       2006-01-01          |    JPY-USD    |  0.01275   |
|       2006-02-01          |    JPY-USD    |  0.01275   |
|       2006-03-01          |    JPY-USD    |  0.01275   |
|       2006-04-01          |    JPY-USD    |  0.01275   |
|       2006-05-01          |    JPY-USD    |  0.01275   |
|       2006-06-01          |    JPY-USD    |  0.01275   |
|       2006-07-01          |    JPY-USD    |  0.01275   |
|       2006-08-01          |    JPY-USD    |  0.01275   |
|       2006-01-01          |    GBP-USD    |  1.559     |
|       2006-02-01          |    GBP-USD    |  1.559     |
|       2006-03-01          |    GBP-USD    |  1.559     |
|       2006-04-01          |    GBP-USD    |  1.559     |
|       2006-05-01          |    GBP-USD    |  1.559     |
|       2006-06-01          |    GBP-USD    |  1.559     |
|       2006-07-01          |    GBP-USD    |  1.559     |
|       2006-08-01          |    GBP-USD    |  1.559     |
|       2006-01-01          |    AUD-USD    |  1.0515    |
|       2006-02-01          |    AUD-USD    |  1.0515    |
|       2006-03-01          |    AUD-USD    |  1.0515    |
|       2006-04-01          |    AUD-USD    |  1.0515    |
|       2006-05-01          |    AUD-USD    |  1.0515    |
|       2006-06-01          |    AUD-USD    |  1.0515    |
|       2006-07-01          |    AUD-USD    |  1.0515    |
|       2006-08-01          |    AUD-USD    |  1.0515    |
|       2006-01-02          |    EUR-USD    |  1.2092    |
|       2006-02-02          |    EUR-USD    |  1.2066    |
|       2006-03-02          |    EUR-USD    |  1.2061    |
|       2006-04-02          |    EUR-USD    |  1.2061    |
|       2006-05-02          |    EUR-USD    |  1.2061    |
|       2006-06-02          |    EUR-USD    |  1.1981    |
|       2006-07-02          |    EUR-USD    |  1.1973    |
|       2006-08-02          |    EUR-USD    |  1.1948    |
+---------------------------+---- ----------+------------+

我在这里向您展示了 2006 年最多 8 天的少数货币数据,但我有 18 种货币的大量数据,截至 2013 年有 30 天的数据。

我的查询是我想要一个包含特定货币每月平均汇率的数组。例如,在我的示例中,1 月EUR-USD 平均值是 1.19935JPY-USD0.01275GBP-USD1.5592 月 EUR-USD 的平均值1.2030375

我想要 EUR-USD 的平均值数组,或者可能是每个月的一些其他货币对,即。应该是这样的

`[1.19935, 1.2030375, ......]`

查询结果 = [平均。 EUR-USD 2006 年 1 月 的平均值。 2006 年 2 月EUR-USD,................,平均。 EUR-USDJanuary, 2013, ..... ] 等等长达 8 年。

请帮我在单个查询中写这个。谢谢

最佳答案

获取您想要的部分日期(在您的情况下为年份和月份)并根据此基数和货币对结果进行分组:

SELECT DATE_FORMAT(rate_date,'%M, %Y') AS rate_month,currency_pair,AVG(rate) AS avg_rate 
FROM historical_currencies_rate
WHERE currency_pair='EUR-USD'
GROUP BY DATE_FORMAT(rate_date,'%M, %Y'),currency_pair
ORDER BY rate_month

关于MySQL查询以获取每个月数据的平均值数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24076069/

相关文章:

ios - 如何将标签设置为 UIImageview 图像等于 iOS 中每个图像的数组索引?

php - fatal error : Cannot redeclare class Database. 如何修复?

mysql - 选择MySQL表中JSON类型值的计数

mysql - 在 MySQL 中计算组合 ID,然后将其存储为库存

SQL: "Reverse"转置一个表

mysql join 2表结果

java - 显示数组中的最大值和索引号

php - PHP/MYSQL 中 num_rows 总是显示零值?

android - 使用 Volley 尝试登录显示 Volley error : null, code: null

javascript - JS 循环和填充数组。哪个更快?