小弟有一个需求,一个产品在不同分类中排列的顺序是不一样的。
之前我只是在产品表中加一个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吗?