注意,没有列在group by字句里的字段都要加聚合函数才能出现在select字段列表里 你还可以变通为如下 select 字段1,max(字段2),字段3,字段4 from tabname group by 字段1,字段3,字段4
建议你还是去研究一下SQL语句里group by的用法
兄弟,你的方法2我先前已经试过了不行,方法1的话,其他的字段不能用max啊
select 字段1,max(字段2),字段3,字段4..... from tabname group by 字段1 有这样写法,急也没用,语法已错,搞清楚自已需求
select 字段1,max(字段2),字段3,字段4..... from tabname group by 字段1 这句话有问题,
用如下解决方法(已调试通过): select a.字段1,max 字段2别名,b.字段3,b.字段4... from (select 字段1,max(字段2) max from tablename group by 字段1) a,tablename b where a.字段1=b.字段1 and a.max=b.字段2;
不能用max你可以尝试用sum 反正加上聚合函数就行 我看你还是贴出表结构让大家给你解决问题
不要我写了一个分组,你就一直用分组,给决的办法还很多嘛! 比如有表table1,字段是aa,bb,cc,dd,ee等等 aa,bb还是和上次说的一样! select * from table1 x where not exists(select * from table1 y where x.aa=y.aa and x.bb<y.bb) x和y是table1的别名!
你还可以变通为如下
select 字段1,max(字段2),字段3,字段4 from tabname group by 字段1,字段3,字段4
有这样写法,急也没用,语法已错,搞清楚自已需求
这句话有问题,
select a.字段1,max 字段2别名,b.字段3,b.字段4... from (select 字段1,max(字段2) max from tablename group by 字段1) a,tablename b where a.字段1=b.字段1 and a.max=b.字段2;
反正加上聚合函数就行
我看你还是贴出表结构让大家给你解决问题
比如有表table1,字段是aa,bb,cc,dd,ee等等 aa,bb还是和上次说的一样!
select * from table1 x where not exists(select * from table1 y where x.aa=y.aa and x.bb<y.bb)
x和y是table1的别名!