sql >> Databasteknik >  >> RDS >> Mysql

Hur förbättrar man denna php mysql-kod?

Distinct är långsammare än Group By . Du kan göra så här utan att använda Group By och Distinct tillsammans och detta kan vara vad du vill uppnå.

SELECT regd, Roll_no, Name_of_Student, Name_of_exam,
       TOTALSCORE, Rank 
FROM 
(
  SELECT t.*, IF(@p = TOTALSCORE, @n, @n := @n + 1) AS Rank, @p := TOTALSCORE 
    FROM
  (
    SELECT regd, Roll_no, Name_of_Student, Name_of_exam, 
            SUM(Mark_score) TOTALSCORE
    FROM cixexam, (SELECT @n := 0, @p := 0) n 
     WHERE (Name_of_exam='First Terminal Exam' OR Name_of_exam='First Term Test')
     GROUP BY regd 
     ORDER BY TOTALSCORE DESC
  ) t
) r


  1. Inga operationer tillåtna efter att uttalandet stängts

  2. Hur man använder "Gilla" i SQL

  3. Hur man returnerar tabellen med mysql-funktionen

  4. Återställ MySQL root-lösenord när det aktuella lösenordet inte är känt