Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да получите автоматична актуализация на оператора sql WHERE от връзката localhost

Използвайте това твърдение, за да получите всички резултати на учениците от вашия тест.

SELECT sq.stdid, sq.testid, COUNT(*) AS correctAnswers, 
SUM(q.marks) AS studentScore, (SELECT SUM(marks) FROM question 
WHERE testid=$_REQUEST['testid']) AS totalScore 
FROM question q, studentquestion sq 
WHERE sq.testid=$_REQUEST['testid'] AND q.testid = sq.testid 
AND q.qnid = sq.qnid AND sq.answered = 'answered' 
AND q.correctanswer = sq.stdanswer GROUP BY sq.stdid;

Можете да създадете PHP променлива, за да изчислите процента. Например:

$scorePercentage = $r3['studentScore'] / $r3['totalScore'] * 100;

или

$scorePercentage = $r3['studentScore'] .'/'. $r3['totalScore'];

// Output: echo $scorePercentage;
60
60/100

Използвайте този SQL израз, за ​​да получите scorePercentage сега:
SELECT sq.stdid, sq.testid, COUNT(*) AS correctAnswers, 
(SUM(q.marks) / (SELECT SUM(marks) FROM question WHERE testid=1) * 100) 
AS studentScorePercentage FROM question q, studentquestion sq 
WHERE sq.testid=$_REQUEST['testid'] AND q.testid = sq.testid AND q.qnid = sq.qnid 
AND sq.answered = 'answered' AND q.correctanswer = sq.stdanswer 
GROUP BY sq.stdid;

SQLFiddle с горни резултати тук:http://sqlfiddle.com/#!9/8d47c/10



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL GROUP BY дата при използване на datetime

  2. Извличане на един ред, една колона със ЗНП

  3. PHP код за вмъкване на стойност в квадратчето за отметка в конкретна колона на mysql с форма за избор

  4. Как мога да избягвам специални символи в низ за връзка с PDO?

  5. MySQL зададе уникални_проверки, зададе чужди_ключ_чекове срещу ключове за деактивиране на алтър таблица