본문 바로가기

분류 전체보기34

[MySQL] Self join을 활용한 코딩테스트 주의사항 문제 :기준일 하루전과 기준일의 온도차이를 비교하고 온도가 높은 날을 출력하시오. 예시 데이터와 출력 데이터Input: Weather table:+----+------------+-------------+| id | recordDate | temperature |+----+------------+-------------+| 1 | 2015-01-01 | 10 || 2 | 2015-01-02 | 25 || 3 | 2015-01-03 | 20 || 4 | 2015-01-04 | 30 |+----+------------+-------------+Output: +----+| id |+----+| 2 || 4 |+----+ 풀이 매크로 :.. 2024. 11. 5.
[MySQL] Self Join Self Join은 아래와 같은 상황에 쓰였다. 1. 같은 테이블에서 행끼리의 어떤 비교가 이루어질 때2. 아래와 같이 하나의 테이블에 두개 이상의 key ID가 들어있고, 이 두 키를 이용해서 문제를 풀어야 할 때 Self Join을 이용해야한다. 문제 : id(종업원)와 종업원 담당 mangerId(매니저)의 급여를 비교하고 매니저보다 급여가 큰 종업원의 이름을 출력하시오. 데이터Employee table:+----+-------+--------+-----------+| id | name | salary | managerId |+----+-------+--------+-----------+| 1 | Joe | 70000 | 3 || 2 | Henry | 80000 | 4 .. 2024. 11. 5.
[MySQL] 그룹변수가 2개로 피벗테이블 구성 문제 : 아래와 같은 데이터가 있을 때 ID와, Month를 그룹으로하여 revenue의 합계를 구하는 피벗테이블을 구성해라. 이때 Month값이 열로 와야하며, 변수명은 다음과 같아야 한다.변수명 : Jan_Revenue | Feb_Revenue | Mar_Revenue | ... | Dec_Revenue/* INPUT TABLE| id | revenue | month || -- | ------- | ----- || 1 | 8000 | Jan || 2 | 9000 | Jan || 3 | 10000 | Feb || 1 | 7000 | Feb || 1 | 6000 | Mar |*//* OUTPUT TABLE */+------+-------------+--.. 2024. 11. 5.
[MySQL] SQL로 피벗테이블 만드는 순서(데이터 피봇팅) 그룹변수 하나와 양적변수 여러개로 피벗을 만들고 싶을 때가 있다. 데이터 중  아래 두 변수를 활용해 피벗을 만들어 보겠다. 문제 : 그룹별로 가격의 평균을 보고 싶다.코드 한줄로 끝내도 되나 좀더 자세히 풀어보겠다. 풀이 예시는 그룹 1에 대한 평균을 계산하는것이다. 풀이 절차1. 핵심은 CategoryID가 1일때 Category1_Price 가격을 출력하고 나머지 그룹엔 NULL로 작성하는 것이다. 이렇게 하면 차후 통계량 요약시 해당 행은 계산식에 포함되지 않는다.(다른 그룹이 NULL임을 보이기 위해 *를 추가하여 전체 데이터를 보였다. 실제 피벗에서는 *를 빼야함에 유의.)SELECT *, CASE WHEN categoryid = 1 THEN price ELSE NULL END AS categ.. 2024. 11. 5.