728x90
< 문제 >
[SQL50] 1661. Average Time of Process per Machine (JOIN)


< 풀이 >
WITH take_time AS(
SELECT machine_id, process_id, SUM(CASE WHEN activity_type = 'start' THEN -1 * timestamp ELSE timestamp END)
FROM Activity
GROUP BY machine_id, process_id
)
SELECT machine_id, ROUND(AVG(sum) ::decimal, 3) AS processing_time
FROM take_time
GROUP BY machine_id;
WITH ~ AS( ... )
WITH AS로 임시 테이블 생성하여 활용
728x90
'coding_test > SQL 문제' 카테고리의 다른 글
[LeetCode] 1280. Students and Examinations (JOIN) (0) | 2025.02.08 |
---|---|
[LeetCode] 577. Employee Bonus (JOIN) (0) | 2025.02.08 |
[LeetCode] 197. Rising Temperature (JOIN) (0) | 2025.02.08 |
[LeetCode] 1581. Customer Who Visited but Did Not Make Any Transactions (JOIN) (0) | 2025.02.07 |
[LeetCode] 1068. Product Sales Analysis I (JOIN) (0) | 2025.02.07 |