SQL 면접 문제 - 자신 이 면접 을 볼 때마다 겪 는 문제 기록 2
400 개의 점포 (poi id) 가 새로 출시 되 었 으 며, SQL 수출 을 통 해 이 400 개의 점포 가 5 월 1 - 31 일 평균 영업 시간 과 그들의 점포 가 있 는 지역 (aor id) 의 다른 점포 의 평균 영업 시간 을 비교 해 야 한다.한 구역 에 여러 개의 점포 가 있 는데, 각 가 게 는 한 구역 에 대응한다.
출력 헤더 요청:
Poi_id
매장 평균 영업 시간
Aor_id
지역 평균 영업 시간
가게 정보 표
필드
필드 이름
Poi_id
가게 ID
Aor_id
영역 ID
dt
날짜.
Op_time
영업 시간 이 길다
가게 정보
필드
필드 이름
Poi_id
가게 ID
제목 에서 분석 한 결과 하위 조회 가 필요 한 것 으로 나 타 났 다. 먼저 가게 의 평균 영업 시간 을 얻 은 다음 에 지역 의 평균 영업 시간 을 얻 고 join 을 통 해 두 개의 조회 링크 를 연결 하면 된다.
처음에 나 는 B 시계 에 대해 의문 이 있 었 다. 이 시 계 는 무엇 에 쓰 이 는 것 인지 알 이 별로 없 는 것 같 았 다.나중에 나 는 문 제 를 다시 한 번 보 았 다. 아마도 A 표 에 있 는 완전한 B 표 정보 가 아 닌 것 같다. 그러면 왼쪽 연결 을 사용 해 야 한다.
SQL 문 구 는 다음 과 같 습 니 다.
SELECT x.Poi_id, ,y.Aor_id, FROM
((SELECT Poi_id FROM a.b) AS x
LEFT JOIN
(SELECT Poi_id,Aor_id,AVG(Op_time) AS FROM a.a
WHERE dt BETWEEN ‘2019-5-1’ AND ‘2019-5-31’
GROUP BY Poi_id,Aor_id) AS y
ON x.Poi_id =y.Poi_id)
LEFT JOIN
(SELECT Aor_id,AVG(Op_time) AS FROM a.a
WHERE dt BETWEEN ‘2019-5-1’ AND ‘2019-5-31’
GROUP BY Aor_id) AS z
ON y.Aor_id=z.Aor_id
제 가 좀 수 다스 럽 게 쓴 것 같 아 요. 더 좋 고 효율 적 인 화법 이 있다 면 댓 글로 남 겨 주세요.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
형태소 분석은 데스크톱을 구성하는 데 도움이?문자×기계 학습에 흥미를 가져와 개인 범위의 용도를 생각해, 폴더 정리에 사용할 수 있을까 생각해 검토를 시작했습니다. 이번 검토에서는 폴더 구성 & text의 읽기 → mecab × wordcloud를 실시하고 있...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.