我试图解决这个棘手的问题,但没有成功。
我有一个mysql表,如下所示:
Category Model Description
cat1 AAA Triple A
cat1/cat2 AAA Triple A
cat1/cat2 BBB Triple B
cat1 BBB Triple B
cat3 CCC Triple C
cat3/cat4/cat5 CCC Triple C
cat3/cat4 CCC Triple C
等。
我想选择具有唯一模型和“最长”类别的行。基本上我想得到:
Category Model Description
cat1/cat2 AAA Triple A
cat1/cat2 BBB Triple B
cat3/cat4/cat5 CCC Triple C
有什么线索吗?
最佳答案
select m.*
from MyTable m
inner join (
select Model, max(char_length(Category)) as MaxLen
from MyTable
group by Model
) mm on m.Model = mm.Model and char_length(m.Category) = mm.MaxLen
事实上,你可能想要最深的类别而不是最长的类别。如果是这样的话,还有比上面更好的选择。
关于mysql - 根据另一个字段选择具有重复字段的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12711537/