2012-02-23 120 views
3

我有一个名为“rates”的表,它有两个字段“date”和“rate”。我喜欢获得MIN和MAX费率值以及他们每个月发生的日期。但我无法管理。Mysql的最小值和最大值以及每个月的相应“日期”

选择日期,
MIN(率)AS minRate,
MAX(率)AS MAXRATE,
MONTH(日期)AS MONTHNAME,
YEAR(日期)AS yearName
差饷
GROUP BY yearName ASC,ASC MONTHNAME

澄清:我喜欢得到这样的:

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 

+1

您是指ORDER BY yearName ASC,monthName ASC? GROUP BY不需要ASC/DESC – Rocky 2012-02-23 11:06:47

+0

我想在同一行上获得MIN费率和日期,并在同一行上获得MAX费率和日期。我想显示所有月份的最小值和最大值。 – mustafa 2012-02-23 11:08:20

+0

你能否提供输入表? – 2012-02-23 11:27:16

回答

2

尝试此查询数据库名测试thier u可以使用你的或删除其

选择 MIN(率)AS minRate,
(选择从日期test.rates其中rate = min(co.rate)和month(date)= month(co.date)和year(date)= year(co.date)limit 1)as min_date,
MAX(rate)AS maxRate ,
(选择测试日期。其中rate = max(co.rate)和month(date)= month(co.date)和year(date)= year(co.date)的限制1)max_date
FROM test.rates co GROUP BY year (date),month(date)