日期:2014-05-18  浏览次数:20661 次

问一条sql语句,谢谢~
序号 值 data1……data96
1 2 ……
1 3 ……
2 4 ……
2 5 ……
有什么好地sql得到这个结果(按序号分组,然后求最大值的整条记录)
1 3 data1……data96
2 5 data1……data96

------解决方案--------------------
select id,max(value) from aa group by id
------解决方案--------------------
select xihao,zhi,data
from table
where zhi=(select max(zhi)
from table
where group by xihao)
------解决方案--------------------
就是横表纵向输出

给你个例子: 

ORD_ID OPT 
------ ---------- 
1 10 
1 20 
1 30 
1 40 
1 50 
2 50 
2 40 
2 20 

已选择8行。 

SQL> select ord_id, max(sys_connect_by_path(opt, ' ')) s_opt 
2 from (select ord_id, opt, lag(opt) over(partition by ord_id order by opt) l_opt 
3 from t) 
4 start with l_opt is null 
5 connect by ord_id = prior ord_id and prior opt = l_opt 
6 group by ord_id; 

ORD_ID S_OPT 
------ -------------------------------------------------- 
1 10 20 30 40 50 
2 20 40 50 

------解决方案--------------------
SELECT * FROM 表 WHERE 值=max(值) GROUP BY 序号
------解决方案--------------------

select 序号, max( 值) from 表名 group by 序号

就可以啦!


------解决方案--------------------
探讨
donald82
不好意思,我刚才没说清楚 值字段可能重复

序号 值 时间 data1……data96
1 2 1 ……
1 3 2 ……
1 3 3 ……
2 4 4 ……
2 5 5 ……
有什么好地sql得到这个结果(按序号分组,然后求最大值的整条记录)
1 3 data1……data96
2 5 data1……data96

------解决方案--------------------
如果有重复都列出的话如此

SQL code
select * from mytable where number in (select max(value) from mytable group by number)

------解决方案--------------------
加distinct就可以了吧
------解决方案--------------------
探讨
donald82
不好意思,我刚才没说清楚 值字段可能重复

序号 值 时间 data1……data96
1 2 1 ……
1 3 2 ……
1 3 3 ……
2 4 4 ……
2 5 5 ……
有什么好地sql得到这个结果(按序号分组,然后求最大值的整条记录)
1 3 data1……data96
2 5 data1……data96