57,062
社区成员
发帖
与我相关
我的任务
分享
5A(日期)从2019年4月19日往下,一直到2000年1月4日,2A(数据)是5A(日期)对应日期的数据,id是自动增加。
现在的需求是查询2A(数据)每个月的最大值和最小值,同时最大值和最小值对应的5A(日期)也要显示出来。如下图:
(1、id和日期都是唯一性,所以哪一个被查询出来都可以。)
(2、如果不能同时显示最大值和最小值,先查询最大值再查询最小值也是可以。)
现在想得到每个月的最大值和最小值,如下图
现在用的方法是这个,只能一个月一个月地去做,有没有办法,一次性把120个月每个月的最大值和最小值一起筛选出来,同时保留2A对应的5A
SELECT * FROM `001copy` WHERE `2A` = (SELECT MAX(`2A`) FROM `001copy` WHERE YEAR(5A)=2019 AND MONTH(5A)=04 )
or `2A` = (SELECT MIN(`2A`) FROM `001copy` WHERE YEAR(5A)=2019 AND MONTH(5A)=04);
如果2A同时取最大值和最小值不方便,也可以将2A复制到2A_1,一个筛选最大值一个筛选最小值,只要保住数据和数据对应的日期能同时筛选出来。
最终的结果像这样展示。