Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak uzyskać automatyczną aktualizację instrukcji sql WHERE z linku localhost?

Użyj tego oświadczenia, aby uzyskać wszystkie wyniki uczniów z testu.

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;

Możesz utworzyć zmienną PHP, aby obliczyć procent. Na przykład:

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

lub

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

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

Użyj tej instrukcji SQL, aby uzyskać wynik scorePercentage teraz:
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 z powyższymi wynikami tutaj: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:Wybierz poprzedni miesiąc i miesiąc przed

  2. Importuj dane z plików XML do bazy danych MySQL

  3. Tworzenie systemu licencji

  4. Dołącz do miejsca, w którym zapytanie w Laravel zwraca błędne znaczniki czasu

  5. sprawdź dostępność pokoju z SQL