一尘不染

在SQL中存储排序顺序的最佳方法是什么?

sql

顶部的人希望排序顺序在我们的应用程序中可自定义。因此,我有一个可以有效定义数据类型的表。存储我们的排序顺序的最佳方法是什么。如果我刚刚创建了一个名为“
Order”的新列,那么每次我更新一行的顺序时,我都想必须更新每一行的顺序以确保后代。有更好的方法吗?


阅读 135

收藏
2021-03-17

共1个答案

一尘不染

到目前为止,没有一个答案可以解决自定义排序顺序的实际问题,而当两个不同的人希望对同一记录进行不同排序时,会发生这种情况。

如果需要自定义排序顺序,则需要一个相关的表来存储它,而不是其他字段。该表将具有用户ID,数据的recordId和记录的排序顺序。这样,对于相同的数据,乔·史密斯可以有一个订单,而莎莉·琼斯则可以有另一个订单。现在您遇到了将新记录添加到数据集中的问题。您是将它们放置在排序顺序的开始还是结尾,还是要求该人员为它们设置顺序,然后才能将它们添加到集合中。实际上,这是一个非常复杂的问题,通常不值得花很多时间来实现,因为一旦安装好该系统,几乎没有人会使用该系统(我的意思是我真的想浏览一百条记录并标记个人每个人的顺序?)。

我在提案编写应用程序中做了一次,因为我们需要能够按照我们认为对客户印象最深刻的顺序对提案中的各个部分和任务进行排序。即使那样,我们也必须制定默认顺序,这样他们才需要先解决他们真正想显示的两三件事,而不是订购10,000个单独的零件。

如果您可以让他们买一个更好的选择,那就是允许他们按列(desc或asc)对数据进行排序。通常,可以设计用户界面,以便如果单击列标题,它将按该列重新排序数据。这样做相对简单,可以满足自定义订购的大多数需求。

您确实需要与管理层讨论此需求,并详细了解他们希望它如何工作,我希望自定义订购。这通常是人们认为自己想要但没有真正使用的东西之一。

2021-03-17