Database design 表中的自定义排序顺序

Database design 表中的自定义排序顺序,database-design,sorting,Database Design,Sorting,我有一个包含用户名列表的表,如何为以下场景实现自定义排序顺序 create table User (name varchar(255)) e、 g.User{John,Sam,Mike} 可以在UI中使用向上/向下按钮将顺序重新排列为{Sam,John,Mike}或{Sam,Mike,John} 我是否需要向表中添加一个单独的列(例如sortOrder-integer数据类型)来处理此排序 因此,每次在UI中进行修改时,我都可以在所有行上设置排序器信息。这种机制的缺点是,每次进行小的修改时,都

我有一个包含用户名列表的表,如何为以下场景实现自定义排序顺序

create table User (name varchar(255))
e、 g.
User{John,Sam,Mike}
可以在UI中使用向上/向下按钮将顺序重新排列为
{Sam,John,Mike}
{Sam,Mike,John}

我是否需要向表中添加一个单独的列(例如sortOrder-integer数据类型)来处理此排序

因此,每次在UI中进行修改时,我都可以在所有行上设置排序器信息。这种机制的缺点是,每次进行小的修改时,都需要为受影响的行重新写入sortOrder列

我们还尝试将
modified_date
(日期类型)设置为排序器列的替代项

有没有更好的方法来实现这一点?感谢您在此主题上提供的任何帮助是的,我认为添加“排序器”列可能是解决您在这里遇到的难题的最有效、最灵活的解决方案。其他任何东西都将始终取决于其他一些排序标准-按字母顺序或日期等,但不会让您真正实现任意排序


使用
SortOrder
列!它在大多数情况下都能很好地工作

上述建议部分解决了我的问题。A.如果我们在一次操作中向上或向下移动某些项目,我很难识别要修改的行列表。B如果添加新条目,则需要为新条目生成适当的sortOrder值。您需要现有表中的最高sortOrder值才能实现此目的。如果桌子很大,这些问题就更严重了。是否有更好的方法来实现上述要求。