Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
125 changes: 125 additions & 0 deletions files_for_lab/solutions.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
-- Exercise 1
--### Query 1

--Get the `id` values of the first 5 clients from `district_id` with a value equals to 1.

SELECT client_id FROM client
WHERE district_id=1
LIMIT 5;

--### Query 2
--In the `client` table, get an `id` value of the last client where the `district_id` equals to 72.

SELECT client_id FROM client
WHERE district_id=72
ORDER BY client_id DESC
LIMIT 1;

--### Query 3
--Get the 3 lowest amounts in the `loan` table.

SELECT amount
FROM loan
ORDER BY amount ASC
LIMIT 3;

--## Query 4
--## What are the possible values for `status`, ordered alphabetically in ascending order in the `loan` table?

SELECT DISTINCT status
FROM loan
ORDER BY status ASC;

--## Query 5
SELECT account_id, amount
FROM loan
ORDER BY account_id ASC
LIMIT 5;

--## Query 6
-- What is the loan `amount` of the lowest 5 `account_id`s in the `loan` table? Show the `account_id` and the corresponding `amount`

SELECT account_id, amount
FROM loan
ORDER BY account_id ASC
LIMIT 5;

--##Query 7
SELECT account_id
FROM loan
WHERE duration = 60
AND amount = (
SELECT MIN(amount)
FROM loan
WHERE duration = 60
);

--##Query 8
SELECT DISTINCT k_symbol
FROM `order`
ORDER BY k_symbol ASC;

--##Query 9
SELECT order_id
FROM `order`
WHERE account_id = 34
ORDER BY order_id ASC;

--##Query 10
SELECT DISTINCT account_id
FROM `order`
WHERE order_id BETWEEN 29540 AND 29560
ORDER BY account_id ASC;

--##Query 11
SELECT DISTINCT amount
FROM `order`
WHERE account_to = 30067122;

--##QUERY 12
SELECT trans_id, date, type, amount
FROM trans
WHERE account_id = 793
ORDER BY date DESC, trans_id DESC
LIMIT 10;

--##Query 13
SELECT district_id, COUNT(*) AS number_of_clients
FROM client
WHERE district_id < 10
GROUP BY district_id
ORDER BY district_id ASC;

--##Query 14
SELECT type, COUNT(*) AS number_of_cards
FROM card
GROUP BY type
ORDER BY number_of_cards DESC;

--##Query 15
SELECT account_id, SUM(amount) AS total_loan_amount
FROM loan
GROUP BY account_id
ORDER BY total_loan_amount DESC
LIMIT 10;

--##QUERY 16
SELECT date, COUNT(*) AS number_of_loans
FROM loan
WHERE date < 930907
GROUP BY date
ORDER BY date DESC;

--##QUERY 17
SELECT date, duration, COUNT(*) AS number_of_loans
FROM loan
WHERE date BETWEEN 971201 AND 971231
GROUP BY date, duration
ORDER BY date ASC, duration ASC;

--##QUERY 18
SELECT account_id, type, SUM(amount) AS total_amount
FROM trans
WHERE account_id = 396
GROUP BY account_id, type
ORDER BY type ASC;