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.
- Prepare
- SQL
- Basic Join
- The Report
- Discussions
The Report
The Report
Sort by
recency
|
3532 Discussions
|
Please Login in order to post a comment
MySql Solution:
select case when grade>=8 then name else null end as name ,grade , marks from ( select s.*,g.grade from students s join grades g where s.marks between g.min_mark and g.max_mark) s order by grade desc, case when grade between 8 and 10 then name else null end , case when grade < 8 then marks else null end
select case when g.grade < 8 then null else s.name 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 >= 8 then s.name else s.marks end asc, case when g.grade < 8 then s.marks else null end asc;
`With top_student as( select Name, Grade, Marks from Students inner join Grades on Marks between Min_mark And Max_mark where Grade>=8 ),
low_student as( select NULL as name, Grade, Marks from Students inner join Grades on Marks between Min_Mark And Max_Mark where Grade<8 )
select * from top_student union all select * from low_student order by Grade desc,name asc,Marks asc
SELECT CASE WHEN G.GRADE >= 8 THEN S.NAME ELSE NULL END AS NAME, G.GRADE, S.MARKS FROM STUDENTS AS S LEFT JOIN GRADES AS G ON S.MARKS BETWEEN MIN_MARK AND MAX_MARK ORDER BY G.GRADE DESC , S.NAME ASC , S.MARKS DESC;
select case when g.grade >= 8 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, s.name,
s.marks**