Skip to content

Commit

Permalink
Create 1907. Count Salary Categories
Browse files Browse the repository at this point in the history
  • Loading branch information
viraj63 authored Aug 15, 2023
1 parent a7cd5e7 commit 7120878
Showing 1 changed file with 66 additions and 0 deletions.
66 changes: 66 additions & 0 deletions SQL_50/1907. Count Salary Categories
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
Table: Accounts

+-------------+------+
| Column Name | Type |
+-------------+------+
| account_id | int |
| income | int |
+-------------+------+
account_id is the primary key (column with unique values) for this table.
Each row contains information about the monthly income for one bank account.


Write a solution to calculate the number of bank accounts for each salary category. The salary categories are:

"Low Salary": All the salaries strictly less than $20000.
"Average Salary": All the salaries in the inclusive range [$20000, $50000].
"High Salary": All the salaries strictly greater than $50000.
The result table must contain all three categories. If there are no accounts in a category, return 0.

Return the result table in any order.

The result format is in the following example.



Example 1:

Input:
Accounts table:
+------------+--------+
| account_id | income |
+------------+--------+
| 3 | 108939 |
| 2 | 12747 |
| 8 | 87709 |
| 6 | 91796 |
+------------+--------+
Output:
+----------------+----------------+
| category | accounts_count |
+----------------+----------------+
| Low Salary | 1 |
| Average Salary | 0 |
| High Salary | 3 |
+----------------+----------------+
Explanation:
Low Salary: Account 2.
Average Salary: No accounts.
High Salary: Accounts 3, 6, and 8.

----------------------------------
# Write your MySQL query statement below
select "Low Salary" as category,
sum(case when income <20000 then 1 else 0 end) as accounts_count
from accounts

union
select "Average Salary" as category,
sum(case when income between 20000 and 50000 then 1 else 0 end) as accounts_count
from accounts

union
select "High Salary" as category,
sum(case when income >50000 then 1 else 0 end) as accounts_count
from accounts;

0 comments on commit 7120878

Please sign in to comment.