看板 Database 關於我們 聯絡資訊
最近遇到一個問題 先敘述一下我遇到的狀況: 我們在做一個教學系統 老師會開一些章節名稱,每個章節上面出很多題目,存到資料庫 但因為老師不一定會照順序出,所以資料紀錄的順序,和章節順序會不同 於是學生那先下載時,去資料庫上面拉老師的章節名稱還有題目,順序就亂掉了 我想到一個方法是:老師再另外存一個"章節名稱順序"上去,學生端拿到再去對照 但這樣就要多存一欄重複資訊感覺挺笨的,而且學生端那邊去比對這個的code也很醜 我比較想要的是: 老師每次上傳題目,資料庫端就根據"老師預設好的章節順序"重新排序一次 這樣學生端就只要顧著拉資料就好。 我找到方法是 SELECT * FROM `questions` ORDER BY FIELD(題目類別, "Lesson1","Lesson2",...,"Mock Test1","Mock Test2",..); 但問題是...這樣排序完只是給你看一下而已,並不會真的Update資料庫。 我google半天找不到可以真的update資料庫排序的方法,是這樣操作資料庫很不合理嗎? (例如SQL這樣運算太耗資源?) 請問有甚麼好方法達成我的需求呢? 感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.133.61.45
chenstin:請問你的意思是,要update成用SELECT * FROM `questions` 04/27 22:58
chenstin:出來的結果的排序就是依照設定好的章節順序,這樣嗎? 04/27 22:59
BBSealion:啊 是我已知章節順序 但我要怎樣操控資料庫照這個順序排 04/28 10:11
BBSealion:要真的update資料庫,而不是只有秀一下給我看而已 04/28 10:12
astt88:多存一個sort欄位存放要排序的順序 05/18 18:22
astt88:若有Order by的順序,直接顯示Order by的結果不行嗎? 05/18 18:25
astt88:其實不需要資料順序=章結順序,這樣Update反而很奇怪 05/18 18:33
astt88:而且你的Select語法看起來有點怪,Table開得有點怪的感覺 05/18 18:37
astt88:資料表有正規化嗎? 05/18 18:38