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

求sql:得到的是每天a字段最大值和最大值的id、最小值值和最小值的id有一个这样的表字段 idasj1152009-11-01

求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是正确的。