亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將sql請求分成兩部分(挑戰)

如何將sql請求分成兩部分(挑戰)

PHP
倚天杖 2023-07-01 13:11:47
我有下面的代碼。本質上,它從數據庫中獲取數學問題并將其列出以供用戶回答。有兩個部分:mathcalc 和 mathnocalc。現在,程序隨機輸出它們。有時可能有 15 個 mathcalc 而只有 5 個 mathnocalc。這對我來說是個問題。我需要能夠指定程序應該只輸出 10 mathcalc 和 10 mathnocalc。此外,我希望能夠分割輸出,以便第一頁只是mathcalc(它可以超過一頁。我只需要先打印出所有 mathnocalc ,然后打印出所有 mathcalc 之后。本質上是兩個組)。我想知道如何將其與現有代碼合并。這絕對是具有挑戰性的,但我想知道是否有人能夠幫助我。
查看完整描述

1 回答

?
繁星淼淼

TA貢獻1775條經驗 獲得超11個贊

基本上,我們使用 2 個SELECT語句并將UNION它們組合成一個結果集。


SELECT question, type, Topic, Skill, imagename, answerA, answerB, answerC, answerD, correctanswer FROM goodquestions WHERE type = 'mathnocalc' ORDER BY RAND() LIMIT 0,10

上面的查詢將返回 10 個 mathnocalc 類型的隨機行。您一定會確信這一點。我將上述查詢用作與另一個查詢的 UNION 的嵌套查詢。


SELECT * FROM (SELECT question, type, Topic, Skill, imagename, answerA, answerB, answerC, answerD, correctanswer FROM goodquestions WHERE type = 'mathnocalc' ORDER BY RAND() LIMIT 0,10) as cat1

UNION

SELECT * FROM (SELECT question, type, Topic, Skill, imagename, answerA, answerB, answerC, answerD, correctanswer FROM goodquestions WHERE type = 'mathcalc' ORDER BY RAND() LIMIT 0,10) as cat2

嘗試上面的查詢并讓我知道結果。


要根據類別顯示結果,您可以簡單地將查詢分為兩部分:


邏輯示例:


$queryNoCalc = 'SELECT question, type, Topic, Skill, imagename, answerA, answerB, answerC, answerD, correctanswer FROM goodquestions WHERE type = 'mathnocalc' ORDER BY RAND() LIMIT 0,10';

$noCalcResult variable will store the result set of above query.


Similarly,

$queryCalc = 'SELECT question, type, Topic, Skill, imagename, answerA, answerB, answerC, answerD, correctanswer FROM goodquestions WHERE type = 'mathcalc' ORDER BY RAND() LIMIT 0,10';

$calcResult variable will store the result set of above query.

現在,您可以在不同的 DIV 中使用單獨的結果。


<div class="no-calc">

  <h3>NO CALULATOR ALLOWED</h3>

  while ($noCalcResult):

    Do the stuff;

  endwhile;

</div>


<div class="calc">

  <h3>CALULATOR ALLOWED</h3>

  while ($queryCalc):

    Do the stuff;

  endwhile;

</div>

希望你能理解這個概念。


查看完整回答
反對 回復 2023-07-01
  • 1 回答
  • 0 關注
  • 137 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號