PrepAway - Latest Free Exam Questions & Answers

You create a table that has the StudentCode, SubjectCode, and Ma…

You create a table that has the StudentCode, SubjectCode, and Ma

rks columns to record mid-year marks for students. The table has marks obtained by 50 students for various subjects.

You need to retrieve the students who scored the highest marks for each subject along with the marks.

Which Transact-SQL query should you

use?

A. SELECT StudentCode as Code, RANK() OVER(ORDER BY AVG(Marks) DESC) AS Value

FROM StudentMarks

GROUP BY StudentCode

B. SELECT Id, Name, Marks, DENSE_RANK() OVER(ORDER BY Marks DESC) AS Rank

FROM StudentMarks

C. SELECT StudentCode as Code, DENSE_R

ANK() OVER(ORDER BY AVG(Marks) DESC) AS

Value

FROM StudentMarks

GROUP BY StudentCode

D. SELECT StudentCode as Code, NTILE(2) OVER(ORDER BY AVG(Marks) DESC) AS Value

FROM StudentMarks

GROUP BY StudentCode

E. SELECT StudentCode AS Code, Marks AS Value FROM

(

SELECT StudentCode, Marks AS Marks,

RANK() OVER(PARTITION BY SubjectCode ORDER BY Marks ASC) AS Rank

FROM StudentMarks) tmp

WHERE Rank = 1

F. SELECT StudentCode AS Code, Marks AS Value FROM (

SELECT StudentCode, Marks AS Marks,

RANK() OVER(PARTITION BY

SubjectCode ORDER BY Marks DESC) AS Rank

FROM StudentMarks) tmp

WHERE Rank = 1

G. SELECT StudentCode AS Code, Marks AS Value FROM (

SELECT StudentCode, Marks AS Marks,

RANK() OVER(PARTITION BY StudentCode ORDER BY Marks ASC) AS Rank

FROM StudentMarks)

tmp

WHERE Rank = 1

H. SELECT StudentCode AS Code, Marks AS Value FROM (

SELECT StudentCode, Marks AS Marks,

RANXO OVER(PARTITION BY StudentCode ORDER BY Marks DESC) AS Rank

FROM StudentMarks) tmp

WHERE Rank = 1

Explanation:


Leave a Reply