SELECT t1.UID, UWGT, UNO1, UNO2
FROM (
select UID, sum(UWGT) as UWGT
from aa
group by UID) as t1,
(SELECT UID,
max(case UID when 'A1' then UNO else null end) as UNO1,
if(max(case UID when 'A1' then UNO else null end) = min(case UID when 'A1' then UNO else null end)
, '', min(case UID when 'A1' then UNO else null end)) as UNO2
from aa
where UID = 'A1'
UNION
SELECT UID,
max(case UID when 'B1' then UNO else null end) as UNO1,
if(max(case UID when 'B1' then UNO else null end) = min(case UID when 'B1' then UNO else null end)
, '', min(case UID when 'B1' then UNO else null end)) as UNO2
from aa
where UID = 'B1'
UNION
SELECT UID,
max(case UID when 'C1' then UNO else null end) as UNO1,
if(max(case UID when 'C1' then UNO else null end) = min(case UID when 'C1' then UNO else null end)
, '', min(case UID when 'C1' then UNO else null end)) as UNO2
from aa
where UID = 'C1'
UNION
SELECT UID,
max(case UID when 'F1' then UNO else null end) as UNO1,
if(max(case UID when 'F1' then UNO else null end) = min(case UID when 'F1' then UNO else null end)
, '', min(case UID when 'F1' then UNO else null end)) as UNO2
from aa
where UID = 'F1'
UNION
SELECT UID,
max(case UID when 'D1' then UNO else null end) as UNO1,
if(max(case UID when 'D1' then UNO else null end) = min(case UID when 'D1' then UNO else null end)
, '', min(case UID when 'D1' then UNO else null end)) as UNO2
from aa
where UID = 'D1') as t2
where t1.UID = t2.UID
把“aa”换成你的表就行了