比如表A 字段1 字段2 字段3 字段4
1 2 3 8月12
1 2 3 8月13
2 3 6 9月12
2 3 1 9月13
查询出来结果
字段1 字段2 字段3 字段4
1 2 3 8月13
如果只是这几个字段可以 但是再加字段显示就变成不是group by表达式了
追答不好意思。有点儿没明白,你是想不用group by来实现,是吗?
追问不是 ,是这个表字段很多 ,这四个字段是主要数据 ,但是他们后面还有字段也要显示,按照你说的语句只显示这个四个字段没问题 ,但是如果要显示他们后面的字段5字段6之类的就会报错 提示不是group by表达式
追答哦。那这样,你在加字段的时候,select后面添加的字段,在group by的后面也要添加相同名称的字段。
就是说select和group by后面的字段要一起添加。
这样再试一下。
max(字段4) as 字段4
这个不用加到group by中。
不行 ,这样可以显示 ,但是没有去重
追答不好意思。我还想问一下,你说的去重复,是指字段1,字段2,字段3不能重复,其余列没有这个限制。是吗?
追问是的
追答select A.* from (select 字段1,字段2,字段3,max(字段4) as 字段4 from A group by 字段1,字段2,字段3) B, A where A.字段1=B.字段1 and A.字段2=B.字段2 and A.字段3=B.字段3 and A.字段4=B.字段4
这样写再试一下。
不好意思啊。我水平一般,就是尽我最大能力帮你解决问题。