我正在考虑有一个前7个项目的清单。所以,链接列表出现在我的脑海中,因为新的高排名项目将被添加,或从较低的级别提升,以推动低排名项目一步。我需要它的方式。我只需要访问前7(一个选择的数字)的对象根据排名。我应该如何将它存储在数据库中?或者我应该把它存储在文件存储中?我可以为已经排序的项添加一些条目或编写剪切/粘贴类型代码,但不幸的是,这不是我的db (MYSQL)的工作方式。有什么建议吗?
发布于 2017-04-17 14:43:50
考虑一下添加“新数字3”的UI。这意味着每件事都会被3次或更大的一次撞击。
所以..。你有一个列,这是排名。SQL是
UPDATE MyList SET rank = rank + 1 WHERE rank >= 3;
INSERT INTO MyList (rank, ...)
VALUES (3, ...);进入前7名:
SELECT * FROM MyList WHERE rank <= 7 ORDER BY rank;要将当前的等级12项“移动”到5级,有许多方法。这里有一个:
UPDATE MyList SET rank = -1 WHERE rank = 12;
UPDATE MyList SET rank = rank + 1 WHERE rank BETWEEN 5 AND 12;
UPDATE MyList SET rank = 5 WHERE rank = -1;https://stackoverflow.com/questions/43450640
复制相似问题