7.Solution of Hacker Rank The Report

Author: neptune | 23rd-Jan-2023
#SQL #Hackerrank

The Report

Problem Statement : You are given two tables: Students and Grades. Students contain three columns ID, Name and Marks.

Sample Input data of Students table:

Grades contains the following data:


Ketty gives Eve a task to generate a report containing three columns: Name, Grade and Mark. Ketty doesn't want the NAMES of those students who received a grade lower than 8. 

The report must be in descending order by grade i.e. higher grades are entered first. If there is more than one student with the same grade (8-10) assigned to them, order those particular students by their name alphabetically. 

Finally, if the grade is lower than 8, use "NULL" as their name and list them by their grades in descending order. If there is more than one student with the same grade (1-7) assigned to them, order those particular students by their marks in ascending order.

Write a query to help Eve.

Expected output :

Maria 10 99

Jane 9 81 

Julia 9 88 

Scarlet 8 78

NULL 7 63

NULL 7 68


Solution :

For this challenge, we must:

  1. Use an if condition to assign NULL for lower grades.

  2. Assign grades using the WHERE and BETWEEN clause so that records where Marks between MIN_Mark and Max_Mark joins and return a joined table.


Query :

SELECT IF(GRADE < 8, NULL, NAME), GRADE, MARKS

FROM STUDENTS JOIN GRADES

WHERE MARKS BETWEEN MIN_MARK AND MAX_MARK

ORDER BY GRADE DESC, NAME;


Output:


Hope you learn something !!!

If you have any questions let me know in the comment section.





Related Blogs
1. Basic SQL Select Query of Hacker Rank.
Author: neptune | 20th-Apr-2022
#SQL #Hackerrank
Problem Statement : Query all columns for all American cities in the CITY table with populations larger than 100000. The CountryCode for America is USA...

Modified 0-1 knapsack problem | Frsco Play Hackerrank
Author: neptune | 05th-Nov-2023
#Hackerrank #Problem Solving
An automobile mechanic wants to buy a set of spare parts from a manufacturing unit. Goal is to maximise the amount of money the mechanic can earn...

AngularJS - Know Tech Frameworks | Fresco Play
Author: neptune | 05th-Nov-2023
#Hackerrank #Problem Solving
Build an application that displays the framework details using AngularJS routing. We will build an application that displays the Tech Frontend and Backend frameworks...

30+ SQL Interview Questions
Author: neptune | 05th-Jan-2023
#Interview #SQL
Data Definition Language (DDL) – It allows end-users to CREATE, ALTER, and DELETE database objects...

PySpark Milestone Black Friday Sales Data | Fresco Play Hackerrank
Author: neptune | 05th-Nov-2023
#Data Science #Hackerrank
Welcome to the Spark Challenge. You are provided with the Black Friday sales data and we as a big data developer needs to analyze and fetch the required data...

Python - Number Based Problem | Hackerrank
Author: neptune | 17th-Aug-2023
#Hackerrank #Problem Solving
Determine whether the number in descending order is a prime or not. If the number is a prime, then print "Sorted Number is a prime number," otherwise, print "Sorted Number is not a prime number."..

View More