Which of the following MySQL query is syntactically correct and most preferred one?
- ASELECT SECTION, COUNT(*) FROM STUDENT
ORDER BY SECTION GROUP BY SECTION WHERE MARKS<33 AND COUNT(*)>0;
- BSELECT SECTION, COUNT(*) FROM STUDENT
WHERE MARKS<33 HAVING COUNT(*)>0 GROUP BY SECTION ORDER BY SECTION;
- CSELECT SECTION, COUNT(*) FROM STUDENT
WHERE MARKS<33 GROUP BY SECTION HAVING COUNT(*)>0 ORDER BY SECTION;
- DSELECT SECTION COUNT(*) FROM STUDENT
GROUP BY SECTION WHERE MARKS<33 AND COUNT(*)>0 ORDER BY SECTION;
Show answerHide answer
Correct answer: (C) SELECT SECTION, COUNT(*) FROM STUDENT
WHERE MARKS<33 GROUP BY SECTION HAVING COUNT(*)>0 ORDER BY SECTION;
Explanation
The clauses must come in the order WHERE, GROUP BY, HAVING, ORDER BY. Conditions on groups such as COUNT(*) > 0 go in HAVING, not WHERE.