当前位置: 代码迷 >> Oracle管理 >> 求sql:得到的是每天a字段最大值和最大值的id、最小值值和最小值的id解决思路
  详细解决方案

求sql:得到的是每天a字段最大值和最大值的id、最小值值和最小值的id解决思路

热度:66   发布时间:2016-04-24 05:19:03.0
求sql:得到的是每天a字段最大值和最大值的id、最小值值和最小值的id
有一个这样的表

字段 id a sj
  1 15 2009-11-01
  3 10 2009-11-01
  22 13 2009-11-03
  4 20 2009-11-01
  44 20 2009-11-02
  5 20 2009-11-03


求sql:得到的是每天a字段最大值和最大值的id、最小值值和最小值的id

------解决方案--------------------
select max(a),min(a),max(id),min(id) from t group by sj;

分太多了。
------解决方案--------------------
探讨
select max(a),min(a),max(id),min(id) from t group by sj;

分太多了。

------解决方案--------------------
好像有点不一样,要用分析函数来做
SQL code
select *from (select t.*,row_number() over(partition by sj order by a desc ) max_rn,row_number() over(partition by sj order by a  ) min_rn from t  )where max_rn=1 or min_rn=1
------解决方案--------------------
探讨
是这样吗?

------解决方案--------------------
理解错误,

#4是正确的。
  相关解决方案