2017-04-17 17 views
0

我正在考慮有一個前7名的項目。 因此,鏈接列表在我腦海中流淌,因爲新的高排名項目將被添加或從較低排名提升,以將較低排名項目推下一步。我需要的方式是。 我只需要根據行列訪問前7位(選定數量)的對象。 我應該如何將它存儲在數據庫中?或者我應該將它存儲在文件存儲中?我可以添加一些項目或爲已經排名的項目編寫剪切/粘貼類型代碼,但不幸的是,這不是我的數據庫(MYSQL)的工作方式。那麼,有什麼建議?我應該如何存儲網站的鏈接列表類型數據?

+0

爲什麼不把數據存儲在您的數據庫中,並有一個分數或排名或任何評分標準的列。然後,如果你想要前7名,你可以簡單地創建一個視圖。無需第二次存儲數據。不知道爲什麼你需要一個鏈表,這只是一個結果集,7行按照一定順序排列。 –

回答

0

想想添加「新號碼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; 
相關問題