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

菜鸟问题!急用!!!急用!!!!!
有50几万行数据要查询结构如下
duan1         duan2             duan3
0                   1                     12
0     2             1
0     3             54
0                   4                       56
1                   1                         45
1                   2                           123
1                   3                           147
1                   4                           125
要求以duan1分组,求出duan3的最大值,显示duan1   duan2   duan3
语句如下
select   duan1,duan2,MAX(duan3)as   duan3     from   ceshi
group   by   duan1
为什么duan2无效去掉duan2就出来啦  
select   duan1,MAX(duan3)as   duan3     from   ceshi
group   by   duan1
duan1       duan3
0 56.0
1 134.0
2 123.0
select   duan1,duan2,MAX(duan3)as   duan3     from   ceshi
group   by   duan1
服务器:   消息   8120,级别   16,状态   1,行   1
列   'ceshi.duan2 '   在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在   GROUP   BY   子句中  


------解决方案--------------------
duan1 duan2 duan3

select a.* from tb a,
(select duan1 , max(duan3) duan3 from tb group by duan1) b
where a.duan1 = b.duan1 and a.duan3 = b.duan3