✨APS (Algorithm Problem Solving)/SolveSQL

[solvesql] 점검이 필요한 자전거 찾기 / SQLite

Nyan cat 2022. 12. 6. 13:53

 

📜 문제 설명

따릉이를 운영하는 서울시에서는 매달 따릉이 자전거의 정기점검을 진행하고 있습니다. 1달에 주행 거리가 50km 이상인 자전거가 정기점검 대상에 포함됩니다.

2021년 2월 정기점검 대상 자전거를 추출하려고 합니다. rental_history 테이블을 사용해 2021년 1월 한 달간 총 주행 거리가 50km 이상인 자전거의 ID를 출력하는 쿼리를 작성해주세요.

 

rental_history  테이블

  • string | bike_id 자전거 ID
  • datetime | rent_at 대여 시각
  • integer | rent_station_id 대여 정류소 ID
  • integer | rent_slot_position 대여 거치대
  • datetime | return_at 반납 시각
  • integer | return_station_id 반납 정류소 ID
  • integer | return_slot_position 반납 거치대
  • number | distance 주행거리 (m)

 

❓ 문제

2021년 1월 한 달간 총 주행 거리가 50km 이상인 자전거의 ID를 출력하는 쿼리를 작성해주세요.

 

🔗 문제 링크

https://solvesql.com/problems/inspection-needed-bike/

 

solvesql

 

solvesql.com

 

💡 문제 풀이

2021년 1월에 대여된 바이크 중에 총 주행 거리가 50km인 바이크 아이디만 조회

SELECT
  bike_id
FROM
  rental_history
WHERE
  DATE (rent_at) LIKE '2021-01%'
  AND DATE (return_at) LIKE '2021-01%'
GROUP BY
  bike_id
HAVING
  SUM(distance) >= 50000
ORDER BY
  DATE (return_at) DESC
반응형