Mysql每个月的最小值和最大值以及对应的 "date"

标签 mysql date max minimum

我有一个名为“rates”的表,它有两个字段“date”和“rate”。我喜欢获取每个月的 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  

等等

最佳答案

试试这个查询,数据库名称是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)

关于Mysql每个月的最小值和最大值以及对应的 "date",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9411767/

相关文章:

php - 按日期时间显示来自多个表的数据

mysql - 选择具有时间差的行和具有默认值的缺失行

php - Mysql按时间差删除()

sql - 检查输入日期是否在开始和结束日期表内

sql - 如何将 3 个 SQL 查询合并为 1 个?

string - 如何设置标签 Xamarin 表单的最大高度?

C 扩展 : <? 和 >?运营商

mysql - 在jsp页面中不断从数据库加载数据

java - 查找二维数组最后一行的最大值

javascript - 为什么这个函数返回 NaN?