有兩種類型的問題1.通道和2.正常問題。 通常在測試中,我想挑選由type_id=0
組成的隨機問題,如果type=1
問題來了,下一段應與該問題有關(理解問題應該按順序出現)。通過使用下面的查詢我能夠得到的問題
SELECT *
FROM tbl_testquestion
ORDER BY
CASE
WHEN type_id=0 THEN RAND()
WHEN type_id=1 THEN qu_id
END ASC
所有的通道問題來了最後
,我有40個問題極限測試,並在表中我有50通過問題和70個正常問題。
我該如何寫一個查詢來調用正常的 問題之間的通道問題。
例
1.who是America.?(type_id=0總統)
2.A,B,C是3名學生Aname是 「阿倫」 B名稱是「Mike」C的名字是「Jhon」(type_id = 1) 誰是C從上面的段落
3.A,B,C是3名學生Aname是「Arun」B名是「Mike」C名是「Jhon」(type_id = 1) 誰是來自以上段落的A
4.Who是Facebook.?(type_id=0的CEO)
形成上述問題,我們將隨機挑選如果問題來在rand()
沒有問題時問題來了在rand()
下一個問題應該是順序的。這意味着接下來的問題應該是後通道問題,完成它應該切換回rand()
功能
爲什麼你需要隨機排序?您可以簡單地使用ORDER BY qu_id – GrApDev
@Abdul Waheed,您可以對錶中的行進行重新排序,例如您需要的並使用ORDER BY qu_id :)但在這種情況下,您需要在表中添加新的列號以及查詢看起來是一樣的:SELECT * FROM tbl_testquestion WHERE NUMBER_OF_TICKET = RAND()ORDER BY qu_id – GrApDev
如果通過問題由3個問題組成:1)在40個問題限制中,它計爲1個問題還是3個問題? 2)如果3個問題的組合在第38個例子中被排序,那麼它是否可以被分解並切斷三個中的最後一個或者該組應該保持完整? 3)如果團隊必須保持,限制將成爲41個問題或必須剝離上述正常問題? 4)如果沒有正常的問題可以剝離? – MtwStark