목록Tool/SQL 코딩테스트 풀이 (46)
홍동이의 성장일기
https://solvesql.com/collections/advent-of-sql-2024/ solvesql.com 정수 나눗셈 2 / 5를 정수 나눗셈으로 처리하면 결과는 0이 됩니다. 따라서 gift_num / tot_num이 소수점을 포함한 비율이 아닌 정수 값만 반환되고, 정수 결과가 0이면 이를 ROUND 함수가 그대로 0.000으로 반환합니다.해결 방법비율 계산에서 소수점 값을 얻으려면 하나 이상의 값을 실수(float)로 변환해야 합니다. 이를 위해 CAST를 사용할 수 있습니다.CAST(컬럼명 AS FLOAT)SELECT절 조건 지정 SELECT 절에서도 조건을 지정하여 계산할 수 있습니다. 이를 위해 CASE 문을 사용할 수 있습니다. 난이도 3이었던 9번 문제는 졸림 이슈로 크리스마스..
https://solvesql.com/collections/advent-of-sql-2024/ solvesql.com SQLite에서 LIKE를 사용할 때, 언더스코어(_)는 기본적으로 단일 문자 와일드카드로 동작합니다.따라서 NOT LIKE '%_%'는 "문자열의 일부가 단일 문자인 경우가 아니다"로 해석되며, 원하는 결과를 반환하지 않을 수 있습니다.WHERE 컬럼명 NOT LIKE '%_%' 이를 해결하려면 언더스코어를 문자 그대로 처리하도록 ESCAPE 키워드를 사용하거나, 다른 함수(INSTR)를 사용해야 합니다. WHERE 컬럼명 NOT LIKE '%\_%' ESCAPE '\'ESCAPE '\': 백슬래시(\)를 이스케이프 문자로 지정합니다.'%\_%': 언더스코어를 문자 그대로 처리합니다...
리트코드에 무료로 나와있는 MEDIUM 레벨의 문제를 모두 해결해서 오늘부터는 HARD 레벨의 문제를 풀며 고급 SQL 문제를 복기 겸 연습해보겠습니다! 🔎 문제 📍 문제 링크: https://leetcode.com/problems/human-traffic-of-stadium/description/ 연속된 ID를 가진 3개 이상의 행으로 레코드를 표시하는 솔루션을 작성하고, 각 행에 대해 100명 이상의 인원이 필요합니다. visit_date별로 주문한 결과표를 오름차순으로 반환합니다. Example 1: Input: Stadium table: +------+------------+-----------+ | id | visit_date | people | +------+------------+------..
🔎 문제 사용자의 확인율은 '확인'된 메시지 수를 전체 확인 요청 메시지 수로 나눈 값입니다. 확인 메시지를 요청하지 않은 사용자의 확인율은 0입니다. 확인율을 소수점 두 자리로 반올림합니다. 솔루션을 작성하여 각 사용자의 확인률을 찾습니다. 📍 문제 링크: https://leetcode.com/problems/confirmation-rate/description/ 💡 문제 풀이 # 풀이 1번 WITH cte_all AS ( SELECT s.user_id, c.action , CASE WHEN action = 'confirmed' THEN 1 ELSE 0 END as 'cou' FROM signups as s left join confirmations as c on s.user_id = c.user_id..
Count Salary Categories - LeetCode Can you solve this real interview question? Count Salary Categories - Table: Accounts +-------------+------+ | Column Name | Type | +-------------+------+ | account_id | int | | income | int | +-------------+------+ account_id is the primary key (column wi leetcode.com SELECT 'Low Salary' as category , COUNT(*) as accounts_count FROM accounts WHERE income < 200..
Movie Rating - LeetCode Can you solve this real interview question? Movie Rating - Table: Movies +---------------+---------+ | Column Name | Type | +---------------+---------+ | movie_id | int | | title | varchar | +---------------+---------+ movie_id is the primary key (column w leetcode.com (SELECT u.name as results FROM movierating mr INNER JOIN users u ON mr.user_id = u.user_id GROUP BY u.na..
Last Person to Fit in the Bus - LeetCode Can you solve this real interview question? Last Person to Fit in the Bus - Table: Queue +-------------+---------+ | Column Name | Type | +-------------+---------+ | person_id | int | | person_name | varchar | | weight | int | | turn | int | +------------- leetcode.com WITH cte_last AS ( SELECT * , SUM(weight) OVER(ORDER BY turn) as total_weight FROM queu..
Monthly Transactions I - LeetCode Can you solve this real interview question? Monthly Transactions I - Table: Transactions +---------------+---------+ | Column Name | Type | +---------------+---------+ | id | int | | country | varchar | | state | enum | | amount | int | | trans_date | date leetcode.com SELECT DATE_FORMAT(trans_date, '%Y-%m') as month , country , COUNT(*) as trans_count , SUM(CAS..
Immediate Food Delivery II - LeetCode Can you solve this real interview question? Immediate Food Delivery II - Table: Delivery +-----------------------------+---------+ | Column Name | Type | +-----------------------------+---------+ | delivery_id | int | | customer_id | int | | order_date | d leetcode.com SELECT ROUND(AVG(order_date = customer_pref_delivery_date)* 100, 2) as immediate_percentag..
Product Price at a Given Date - LeetCode Can you solve this real interview question? Product Price at a Given Date - Table: Products +---------------+---------+ | Column Name | Type | +---------------+---------+ | product_id | int | | new_price | int | | change_date | date | +---------------+---- leetcode.com SELECT product_id , 10 AS price FROM products GROUP BY product_id HAVING MIN(change_dat..