Skip to main content
CodeOath
← All problems

Problem

Department With Highest Average Salary

Medium
  • sql

Return the single department whose employees have the highest average salary. Employees with no salary are left out of the average. If departments tie for the highest average, returning any one of them is fine.

Expected columns: dept and avg_salary, in a single row.

Example 1
Input
Employees(id, name, dept, salary)
1 | Alice | Sales | 50000
2 | Bob | Sales | 60000
3 | Carol | IT | 70000
4 | Dave | IT | NULL
5 | Eve | HR | 55000
Output
dept | avg_salary
IT | 70000
Explanation

the averages are IT 70000, Sales 55000 and HR 55000, so IT is the highest.

Sample database

Your query runs in the browser against these tables. Column names are exact.

  • Departments

    • dept_id
    • dept
  • Employees

    • id
    • name
    • dept
    • salary
  • Customers

    • customer_id
    • name
    • email
    • city
    • signup_date
  • Products

    • product_id
    • name
    • category
    • price
  • Orders

    • order_id
    • customer_id
    • order_date
    • status
  • OrderItems

    • order_id
    • product_id
    • quantity
  • Logins

    • customer_id
    • login_date
  • Staff

    • staff_id
    • name
    • title
    • manager_id

No automatic grading here

Run your query and check the rows against what the question asks for. Then open the model answer to compare.

SQL

Tab indents. Press Esc, then Tab to leave the editor.

Loading the SQL engine…