想了好长时间了,也没办法实现,希望各位大神能帮我解决一下!谢谢啦!作者: cenalulu 时间: 2013-07-03 12:40
select
`批次`,
substring_index(group_concat(`电流` order by `效率`),',',1) as 电流,
substring_index(group_concat(`电压` order by `效率`),',',1) as 电压,
substring_index(group_concat(`效率` order by `效率`),',',1) as 效率,
from
table_name
group by `批次`作者: zhuyongxin 时间: 2013-07-03 13:21
谢谢大神!好不容易才看懂了这个语句。追问大神一句,如果不使用函数有办法解决吗?作者: cenalulu 时间: 2013-07-03 15:16 回复 3# zhuyongxin
也有其他的,不过效率不行,写起来也麻烦。 not exist 或者left join这种作者: 姚福坚 时间: 2013-07-25 18:41
先用order by排序,再用group by 删选就行了 select * from (select * from table order by 效率 desc) as t group by 批号作者: 唐双涵 时间: 2013-08-16 15:51 作者: 地球引力的囚徒 时间: 2013-09-15 18:47
select 批号,电流,电压,max(效率) from table_name group by 批号;
so easy~~~作者: 南瓜-学习者 时间: 2013-10-12 14:02 本帖最后由 南瓜-学习者 于 2013-10-12 14:22 编辑
SELECT a.pici,b.dianliu,b.dianya,a.xiaolv FROM
(select pici,MAX(xiaolv) xiaolv from 表名 group by 1) a
LEFT JOIN 表名 b ON a.pici=b.pici AND a.xiaolv=b.xiaolv GROUP BY 1;
或者
SELECT pici,dianliu,dianya,xiaolv FROM
(SELECT * FROM 表名 ORDER BY xiaolv DESC) a GROUP BY 1;