The Report

Sort by

recency

|

3601 Discussions

|

  • + 0 comments

    WITH REPORT AS (SELECT NAME, (SELECT GRADE FROM GRADES WHERE MARKS BETWEEN MIN_MARK AND MAX_MARK) AS GRADE, MARKS FROM STUDENTS ORDER BY GRADE DESC, NAME ASC)

    SELECT CASE WHEN GRADE < 8 THEN NULL ELSE NAME END AS NAME, GRADE, MARKS FROM REPORT;

  • + 0 comments

    How is this one?

    SELECT s.name, (SELECT Grade from grades where s.marks >= min_mark and s.marks <= max_mark ) AS Grade, s.marks from students s where s.marks > 69 ORDER BY Grade DESC, s.name;

    SELECT NULL, (SELECT Grade from grades where s.marks >= min_mark and s.marks <= max_mark ) AS Grade, s.marks from students s where s.marks <70 ORDER BY Grade DESC, s.marks;

  • + 1 comment

    After Submitting the problem , I found that there is table named Grade in this Question .

    Anyways My Solution -

    SELECT CASE WHEN MarksSegmentation = 8 THEN name WHEN MarksSegmentation = 9 THEN name WHEN MarksSegmentation = 10 THEN name ELSE NULL

    END NameSegmentation, MarksSegmentation,marks  
    

    from (

    SELECT name , CASE WHEN MARKS >= 0 and MARKS <=9 THEN 1 WHEN MARKS >=10 and MARKS <=19 THEN 2 WHEN MARKS >=20 and MARKS <=29 THEN 3 WHEN MARKS >=30 and MARKS <=39 THEN 4 WHEN MARKS >=40 and MARKS <=49 THEN 5 WHEN MARKS >=50 and MARKS <=59 THEN 6 WHEN MARKS >=60 and MARKS <=69 THEN 7 WHEN MARKS >=70 and MARKS <=79 THEN 8 WHEN MARKS >=80 and MARKS <=89 THEN 9 WHEN MARKS >=90 and MARKS <=100 THEN 10

    END MarksSegmentation , marks from Students ) as Sub_query
    
    ORDER BY MarksSegmentation DESC ,name;
    
  • + 0 comments
    SELECT
        CASE
            WHEN GRADES.GRADE >= 8 THEN STUDENTS.NAME
            ELSE NULL
        END, GRADES.GRADE, STUDENTS.MARKS
    FROM STUDENTS
    JOIN GRADES
    ON STUDENTS.MARKS BETWEEN GRADES.MIN_MARK AND GRADES.MAX_MARK
    ORDER BY GRADES.GRADE DESC,
        (CASE
            WHEN GRADES.GRADE >= 8 THEN STUDENTS.NAME
            ELSE STUDENTS.MARKS
        END);
    
  • + 0 comments
    SELECT
        CASE
            WHEN g.Grade > 7 THEN s.Name
            ELSE NULL
        END AS Name,
        g.Grade,
        s.Marks
    FROM Students s
        JOIN Grades g 
        ON s.Marks between g.Min_Mark and g.Max_Mark
    ORDER BY 
        g.Grade DESC,
        CASE
            WHEN g.Grade > 7 THEN s.Name
            ELSE NULL
        END ASC,
        CASE
            WHEN g.Grade < 8 THEN g.Grade
            ELSE NULL
        END DESC,
        CASE
            WHEN g.Grade < 8 THEN s.Marks
            ELSE NULL
        END ASC;