Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

SQL for Second Highest Value

MediumSQL · PostgreSQL00:00
Practice interviewer
In session
5 left
00:00

Your question is SQL for Second Highest Value. Start with the requirements and the three tables on the right.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.

Problem

NeenOpal Canada wants a workforce age analysis across its Canadian offices. Write a PostgreSQL query to identify employees with the second-highest distinct age as of 2026-01-01.

Requirements

  1. Consider only employees whose employment status is Active and whose office is in Canada.
  2. Exclude employees with a missing date of birth.
  3. Calculate age using PostgreSQL date functions and return every employee tied at the second-highest distinct age.
  4. Include the employee's department and office when available.
  5. Be prepared to explain at least two alternative approaches, such as DENSE_RANK(), a distinct-age subquery, or a MAX()-based approach.

Schema

employees
ColumnTypeDescription
employee_idPKINTEmployee identifier
full_nameVARCHAR(100)Employee full name
date_of_birthDATEEmployee date of birth
employment_statusVARCHAR(20)Current employment status
department_idINTReference to the employee department
office_idINTReference to the employee office
departments
ColumnTypeDescription
department_idPKINTDepartment identifier
department_nameVARCHAR(100)Department name
offices
ColumnTypeDescription
office_idPKINTOffice identifier
office_nameVARCHAR(100)Office name
countryVARCHAR(50)Office country
Tablesemployeesdepartmentsoffices
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results