您可以通过两种方式执行此操作。一种方法是进行复杂的联接。另一种方法是捷径。只需将汽车汇总为一个字符串并比较字符串即可。
with nc as ( select n.name, stuff( (select ',' + t.model from t where t.name = n.name order by t.model for xml path ('') ), 1, 1, '') as cars from (select distinct name from t) n )select nc.name, nc.cars, dense_rank() over (order by nc.cars)from ncorder by nc.cars;这将创建一个列表,其中包含名称和汽车列表,以逗号分隔列表。如果愿意,可以加入原始表以获取原始行。



