2012-02-21 6 views
0

У меня есть таблица с двумя полями - поле для «дата» вошел в день/месяц/год и поле «курс»Mysql минимальные и максимальные значения «скорости» за каждый месяц

дате | Ставка

24/01/05 | 1.9754
26/01/05 | 1,3723
...
и так далее

Итак, я хотел бы найти минимальные и максимальные значения «скорости» за каждый месяц года (ов). Мой запрос выбирает только одну строку

SELECT DISTINCT DATE_FORMAT (дата, '% d-% m-% г') в качестве даты, MIN (скорость) при г, MAX (скорость) в качестве МР ОТ ставок

ответ

3

Это позволит получить значения скорости для каждого месяца и года

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

Если вам нужно иметь индивидуальную дату (ы), на котором минимальное или максимальное происходит вам потребуется некоторая дополнительная группировка в там, однако вышесказанное должно быть достаточным для вашего первоначального вопроса.

+0

Как я могу получить отдельные даты max и min? – mustafa

+1

@mustafa: до тех пор, пока у вас есть значение 'min' и' max', вы можете просто выполнить дополнительный запрос с тривиальным 'WHERE' – zerkms