0

取引所のリストがあり、レートと日付があり、毎日更新されます。

例 ->

usd - 135 - 26/02/2013
Yen - 230 - 26/02/2013
GBP - 200 - 26/02/2013

usd - 136 - 25/02/2013
Yen - 230 - 25/02/2013
GBP - 205 - 25/02/2013

それらをグループ化するクエリがあり、クエリはこれです->

SELECT Curr, Src, GROUP_CONCAT(Rate, '|', Feeddate 
ORDER BY feeddate ASC SEPARATOR ',' ) AS RateCal 
FROM rates 

だからそれはこのように見えます - >

usd - 135 | 26/02/2013, 136 | 25/02/2013
Yen - 230 | 26/02/2013, 230 | 25/02/2013
GBP - 200 | 26/02/2013, 206 | 25/02/2013

しかし、毎月の各取引所の平均を取得するためのクエリもあります。これは->

SELECT  Curr, DATE_FORMAT(Feeddate,'%Y-%M') AS 'Year', AVG(`Rate`) as 'Rate'
FROM rates,

しかし、私が今したいのは、上記のように各交換グループの月平均を連結することです

4

1 に答える 1

0

あなたが探しているのはこれでしょうか?サンプル データを使用して、 の月のデータを追加しますMarch

SQLデモ

select curr, monthname(date), avg(rate)
from rates
group by curr, monthname(Date);

| CURR | MONTHNAME(DATE) | AVG(RATE) |
--------------------------------------
|  GBP |        February |     202.5 |
|  GBP |           March |       207 |
|  usd |        February |     135.5 |
|  usd |           March |       136 |
|  Yen |        February |       230 |
|  Yen |           March |     232.5 |

単純すぎるように見えます。だからコメントしてください。

OPのコメントによると:

SQL デモ 2

select x.curr, 
GROUP_CONCAT(x.avgr, '|', x.mondate) as Months_Averages
from (select curr, monthname(date) mondate,
avg(rate) avgr
from rates
group by curr, monthname(date)
)x
group by x.curr;

| CURR |                      MONTHS_AVERAGES  |
------------------------------------------------
|  GBP |    202.5000| February,207.0000| March |
|  usd |    135.5000| February,136.0000| March |
|  Yen |    230.0000| February,232.5000| March |
于 2013-02-27T13:49:00.150 に答える