有一个这样的表
字段 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;
分太多了。
------解决方案--------------------
------解决方案--------------------
好像有点不一样,要用分析函数来做
- 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是正确的。