一个产品在不同分类中排列的顺序是不一样的,请问如何实现呢?

小弟有一个需求,一个产品在不同分类中排列的顺序是不一样的。

之前我只是在产品表中加一个order_key字段。定好这个order_key在哪排列都是不变的。

现在,有一个需求,要在不同分类中,查询出来的产品顺序是不一样的。

比如产品A,

在分类1中,出现位置在第二个;
在分类2中,出现位置在第五个;
在分类3中,出现位置在第八个;

请问:各位大侠们。这个如何实现呢?

说说思路也行。谢谢。

那可以专门用一个表来放置排列的orderkey
id productId orderType order,

或者,order_key作为字符串,存放所有的排序信息,比如
产品 order_key
产品A 1,2,3
产品B 3,1,2
产品C 2,3,1

分类1的排序就是ACB,
分类2的排序就是BAC,
分类3的排序就是CBA,
以此类推

不同的分类应该有不同的排序依据吧?取出来之后再在内存里根据不同的依据进行排序好了。所以你这个问题我觉得关键还是如何制定排序依据上。

你排序的规则最好是依赖于已经存在的列,而不是再增加列。所以你最好确定你排序要依赖的列,直接order by就行了。不知道你要的是不是这样的。

你这个排序是不参照任何列,完全依赖于自定义的order_key吗?