[SQL ] 有關資料排序和更動

看板Database作者 (海獅)時間12年前 (2013/04/27 21:39), 編輯推噓0(009)
留言9則, 3人參與, 最新討論串1/1
最近遇到一個問題 先敘述一下我遇到的狀況: 我們在做一個教學系統 老師會開一些章節名稱,每個章節上面出很多題目,存到資料庫 但因為老師不一定會照順序出,所以資料紀錄的順序,和章節順序會不同 於是學生那先下載時,去資料庫上面拉老師的章節名稱還有題目,順序就亂掉了 我想到一個方法是:老師再另外存一個"章節名稱順序"上去,學生端拿到再去對照 但這樣就要多存一欄重複資訊感覺挺笨的,而且學生端那邊去比對這個的code也很醜 我比較想要的是: 老師每次上傳題目,資料庫端就根據"老師預設好的章節順序"重新排序一次 這樣學生端就只要顧著拉資料就好。 我找到方法是 SELECT * FROM `questions` ORDER BY FIELD(題目類別, "Lesson1","Lesson2",...,"Mock Test1","Mock Test2",..); 但問題是...這樣排序完只是給你看一下而已,並不會真的Update資料庫。 我google半天找不到可以真的update資料庫排序的方法,是這樣操作資料庫很不合理嗎? (例如SQL這樣運算太耗資源?) 請問有甚麼好方法達成我的需求呢? 感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.133.61.45

04/27 22:58, , 1F
請問你的意思是,要update成用SELECT * FROM `questions`
04/27 22:58, 1F

04/27 22:59, , 2F
出來的結果的排序就是依照設定好的章節順序,這樣嗎?
04/27 22:59, 2F

04/28 10:11, , 3F
啊 是我已知章節順序 但我要怎樣操控資料庫照這個順序排
04/28 10:11, 3F

04/28 10:12, , 4F
要真的update資料庫,而不是只有秀一下給我看而已
04/28 10:12, 4F

05/18 18:22, , 5F
多存一個sort欄位存放要排序的順序
05/18 18:22, 5F

05/18 18:25, , 6F
若有Order by的順序,直接顯示Order by的結果不行嗎?
05/18 18:25, 6F

05/18 18:33, , 7F
其實不需要資料順序=章結順序,這樣Update反而很奇怪
05/18 18:33, 7F

05/18 18:37, , 8F
而且你的Select語法看起來有點怪,Table開得有點怪的感覺
05/18 18:37, 8F

05/18 18:38, , 9F
資料表有正規化嗎?
05/18 18:38, 9F
文章代碼(AID): #1HUzKEBi (Database)