We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
WITH new_t AS
(SELECT *
FROM students CROSS JOIN grades),
first AS
(SELECT *
FROM new_t
WHERE grade = 10 AND marks BETWEEN 90 AND 100),
second AS
(SELECT *
FROM new_t
WHERE grade = 9 AND marks BETWEEN 80 AND 89),
third AS
(SELECT *
FROM new_t
WHERE grade = 8 AND marks BETWEEN 70 AND 79),
fourth AS
(SELECT *
FROM new_t
WHERE grade = 7 AND marks BETWEEN 60 AND 69),
fifth AS
(SELECT *
FROM new_t
WHERE grade = 6 AND marks BETWEEN 50 AND 59),
sixth AS
(SELECT *
FROM new_t
WHERE grade = 5 AND marks BETWEEN 40 AND 49),
seventh AS
(SELECT *
FROM new_t
WHERE grade = 4 AND marks BETWEEN 30 AND 39),
eight AS
(SELECT *
FROM new_t
WHERE grade = 3 AND marks BETWEEN 20 AND 29),
ninth AS
(SELECT *
FROM new_t
WHERE grade = 2 AND marks BETWEEN 10 AND 19),
tenth AS
(SELECT *
FROM new_t
WHERE grade = 1 AND marks BETWEEN 0 AND 9),
newt AS(
SELECT * FROM first
UNION ALL
SELECT * FROM second
UNION ALL
SELECT * FROM third
UNION ALL
SELECT * FROM fourth
UNION ALL
SELECT * FROM fifth
UNION ALL
SELECT * FROM sixth
UNION ALL
SELECT * FROM seventh
UNION ALL
SELECT * FROM eight
UNION ALL
SELECT * FROM ninth
UNION ALL
SELECT * FROM tenth
)
SELECT CASE WHEN grade >= 8 THEN name ELSE 'NULL' END, grade, marks
FROM newt
ORDER BY grade DESC, name ASC;
Cookie support is required to access HackerRank
Seems like cookies are disabled on this browser, please enable them to open this website
The Report
You are viewing a single comment's thread. Return to all comments →
WORKING ON MYSQL****
WITH new_t AS (SELECT * FROM students CROSS JOIN grades), first AS (SELECT * FROM new_t WHERE grade = 10 AND marks BETWEEN 90 AND 100), second AS (SELECT * FROM new_t WHERE grade = 9 AND marks BETWEEN 80 AND 89), third AS (SELECT * FROM new_t WHERE grade = 8 AND marks BETWEEN 70 AND 79), fourth AS (SELECT * FROM new_t WHERE grade = 7 AND marks BETWEEN 60 AND 69), fifth AS (SELECT * FROM new_t WHERE grade = 6 AND marks BETWEEN 50 AND 59), sixth AS (SELECT * FROM new_t WHERE grade = 5 AND marks BETWEEN 40 AND 49), seventh AS (SELECT * FROM new_t WHERE grade = 4 AND marks BETWEEN 30 AND 39), eight AS (SELECT * FROM new_t WHERE grade = 3 AND marks BETWEEN 20 AND 29), ninth AS (SELECT * FROM new_t WHERE grade = 2 AND marks BETWEEN 10 AND 19), tenth AS (SELECT * FROM new_t WHERE grade = 1 AND marks BETWEEN 0 AND 9), newt AS( SELECT * FROM first UNION ALL SELECT * FROM second UNION ALL SELECT * FROM third UNION ALL SELECT * FROM fourth UNION ALL SELECT * FROM fifth UNION ALL SELECT * FROM sixth UNION ALL SELECT * FROM seventh UNION ALL SELECT * FROM eight UNION ALL SELECT * FROM ninth UNION ALL SELECT * FROM tenth
) SELECT CASE WHEN grade >= 8 THEN name ELSE 'NULL' END, grade, marks FROM newt ORDER BY grade DESC, name ASC;