[SQL ] 想要按照特定順序撈出資料 [已解決]

看板Database作者 (小瀚文 大志氣)時間15年前 (2010/04/20 21:14), 編輯推噓3(302)
留言5則, 3人參與, 最新討論串1/1
DBMS : MySQL 5.0 最近在寫一個簡單的題庫系統 (PHP), 製作練習題的流程如下: (1) 撈出題庫內所有題目 (2) 使用PHP的shuffle函數重新排列 (3) 取出陣列中的前10筆 使用者按下作答完畢,POST至另一頁面的變數有「題目編號」與「使用者的答案」, 接著我想根據「題目編號的順序」撈出題目的答案, 我下了一個語法 : select myAns from myTable where id in (8,5,9,1,3,2) ; 我想要按照這樣(8,5,9,1,3,2) 的順序撈出答案,但撈出的結果是 1 2 3 5 8 9 花了幾個小時查資料與思考,仍無法得到結果。 我也嘗試著用PHP的函數來做,不過仍徒勞無功。 在此想請教各位,我大概要往哪個方向去思考呢?謝謝。 [已解決] 方式如下: 用PHP解決了,將「題目編號陣列」與「使用者答案陣列」合併, $newArray = array_combine(題目編號,使用者答案) ; newArray { 題目編號 => 使用者答案 } 這樣就不用管順序而正確將答案對完,真是太好了。 雖然跟原來練習時印出的題目順序不同,但至少還可以看到哪題做錯。 謝謝版友們的幫忙。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.128.33.97

04/20 21:18, , 1F
不覺得你的問題要從 sql 下手處理
04/20 21:18, 1F

04/20 21:18, , 2F
終究還是要比對答案,所以在 PHP 用 hash 處理比較實在
04/20 21:18, 2F

04/20 21:37, , 3F
我記得可以用 order by rand() limit 10
04/20 21:37, 3F

04/20 21:42, , 4F
對答案就用迴圈去對. 就不用管DB出來的順序
04/20 21:42, 4F

04/20 22:02, , 5F
感謝各位的幫助,解決了。
04/20 22:02, 5F
※ 編輯: hwChang 來自: 140.128.33.97 (04/20 22:06)
文章代碼(AID): #1BpQY-6j (Database)