3

「rates」という名前のテーブルがあり、「date」と「rate」の 2 つのフィールドがあります。各月の MIN と MAX のレート値と、それらが発生した日付を取得したいと考えています。しかし、私は管理できませんでした。

SELECT date,
MIN(rate) AS minRate,
MAX(rate) AS maxRate,
MONTH(date) AS monthName,
YEAR(date) AS yearName
FROM rates
GROUP BY yearName ASC, monthName ASC

明確化:私は次のようなものを手に入れたいです:

 Months  MIN    mindate     MAX      maxdate  
 Jan     1.234  2012-01-13   1.534  2012-01-24  
 Feb     1.165  2012-02-28   1.373  2012-02-11  

等々

4

1 に答える 1

3

このクエリを試してください。データベース名は test です。自分のものを使用するか、削除することができます。

SELECT 
  MIN(rate) AS minRate,
  (select date from test.rates where rate = min(co.rate) and  
    month(date) = month(co.date) and year(date) = year(co.date) limit  
  )as min_date,
  MAX(rate) AS maxRate,
  (select date from test.rates where rate = max(co.rate) and  
    month(date) = month(co.date) and year(date) = year(co.date) limit 1) as 
  max_date
FROM test.rates co 
GROUP BY year(date) , month(date)
于 2012-02-23T11:42:41.487 に答える