Advertisement
Danny_Berova

Highest Peak Name and Elevation by Country

Oct 9th, 2017
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 1.26 KB | None | 0 0
  1. SELECT top (5)
  2.       Sorted.CountryName AS [Country],
  3.       CASE
  4.           WHEN Sorted.PeakName IS NULL THEN '(no highest peak)'
  5.           ELSE Sorted.PeakName
  6.       END AS [Highest Peak Name],
  7.       CASE
  8.           WHEN Sorted.[Highest Peak Elevation] IS NULL THEN 0
  9.           ELSE Sorted.[Highest Peak Elevation]
  10.       END AS [Highest Peak Elevation],
  11.       CASE
  12.           WHEN Sorted.Mountain IS NULL THEN '(no mountain)'
  13.           ELSE Sorted.Mountain
  14.       END AS Mountain
  15.       FROM (
  16.            SELECT top 1000
  17.                   c.CountryName AS [CountryName],
  18.                   p.PeakName AS [PeakName],
  19.                   MAX(p.Elevation) AS [Highest Peak Elevation],
  20.                   m.MountainRange AS [Mountain],
  21.                   DENSE_RANK() OVER (PARTITION BY CountryName ORDER BY MAX(p.Elevation) DESC) AS Rank
  22.              FROM Countries AS c
  23.              LEFT JOIN MountainsCountries AS mc
  24.                ON c.CountryCode = mc.CountryCode
  25.              LEFT JOIN Peaks AS p
  26.                ON mc.MountainId = p.MountainId
  27.              LEFT JOIN Mountains AS m
  28.                ON p.MountainId = m.Id
  29.             GROUP BY c.CountryName, p.PeakName, m.MountainRange
  30.             ORDER BY CountryName, Rank
  31.          )AS Sorted
  32.  WHERE Sorted.Rank = 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement