我正在考虑拥有前7个项目列表。 因此,链接列表会出现在我脑海中,因为新的高排名项目将被添加,或从较低级别提升,以将较低排名的项目压缩一步。我需要它的方式。 我只需要根据排名访问前7个(选定数量)的对象。 我该如何将其存储在数据库中?或者我应该将它存储在文件存储中?我可以为已经排名的项添加一些项目或编写剪切/粘贴类型代码,但不幸的是,我的db(MYSQL)不起作用。那么,有什么建议吗?
答案 0 :(得分:0)
考虑添加"新号码3"的用户界面。这意味着将所有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;
To&#34; move&#34;目前排名第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;