select v.vehicleID, y.year, ma.make, mo.model, s.style, p.partID, p.dateModified
from Part as p
join VehiclePart as vp on p.partID = vp.partID
join Vehicle as v on vp.vehicleID = v.vehicleID
join Year as y on v.yearID = y.yearID
join Make as ma on v.makeID = ma.makeID
join Model as mo on v.modelID = mo.modelID
join Style as s on v.styleID = s.styleID
where p.status != 999
group by p.partID, ma.make, mo.model, s.style, y.year, vp.drilling
我得到的结果如下:
我希望所有大众高尔夫,“2门或4门H”,11000,2013-10-09都有一个生成的列(别名)来拥有一个groupID(例如1)
然后我希望所有的大众汽车gti,“2或4门H”11000,2013-10-09都有一个生成的列(别名),其groupID为2,依此类推。
所以基本上每个“群组”都有自己的ID。
答案 0 :(得分:1)
这是可能的,但最好有一种组标识符或由soms选择组成的哈希。例如
SELECT MD5(CONCAT(mo.model, p.dateModified)) AS group_identifier, * FROM ...
然后您有每个组的唯一标识符,它始终相同,但不是数字。如果需要数字,则会出现一些问题,例如将数字映射到某组子标识符。因此哈希可能是解决问题的更好方法。