给出以下mysql结果集:
id code name importance
'1234', 'ID-CS-B', 'Chocolate Sauce', '1',
'1122', 'ID-MC-A', 'Mint Choc Chip', '5',
'5621', 'ID-MC-B', 'Mint Choc Chip', '4',
'1221', 'ID-CS-A', 'Chocolate Sauce', '2',
'1212', 'ID-CS-C', 'Chocolate Sauce', '3',
这里有两种产品:巧克力酱和薄荷巧克力片。我想根据重要性从每个产品中提取一个实例。
我想要使用“重要性”栏目中最重要的Mint Choc Chip产品和最重要的巧克力酱产品:价值越高越重要
答案 0 :(得分:3)
SELECT x.*
FROM my_table x
JOIN
( SELECT name, MAX(importance) max_importance FROM my_table GROUP BY name ) y
ON y.name = x.name
AND y.max_importance = x.importance;
答案 1 :(得分:0)
试试这个,
select b.name, max(a.importance)
from t b
left join t a
on b.id = a.id
group by b.name
;
结果:
NAME MAX(A.IMPORTANCE)
Chocolate Sauce 3
Mint Choc Chip 5