본문 바로가기

DataBase/SQL 문제풀이10

[MySQL] 초 단위 시간차이 계산 이번 하나은행 상반기 코테에서 SQL 두번째 문제로 초 단위의 시간계산이 필요한 문제가 나왔다.DATEDIFF()를 활용한 날짜 계산은 익숙했지만 다른 시간 단위의 계산은 미처 생각하지 못해 당황스러웠다.시간 유닛을 매개변수로 사용하는 뭔가가 있었던 거 같은데,,, 했으나 끝끝내 떠올리지 못했다. 시험이 끝난 후 찾아보니 TIMESTAMPDIFF(단위, 날짜1, 날짜2) 라는 함수가 있더라.함수명이 생소한 거 보니 떠올리지 못한 게 아니라 그냥 몰랐던 듯하다. 엄,, 그래서, 초 계산 그거 어떻게 하는 건데 TIMESTAMPDIFF(단위, 날짜1, 날짜2)단위로는 SECOND, MINUTE, HOUR, WEEK, MONTH, YEAR 등이 사용가능하고,날짜1이 날짜2보다 이른 시점일 때 계산 결과가 양수.. 2024. 4. 8.
[SQL] MySQL에서의 비트연산 / 프로그래머스 Front End 개발자 찾기 https://school.programmers.co.kr/learn/courses/30/lessons/276035 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 탐색 이번 문제는 SQL 문제를 풀면서 처음으로 비트연산을 다뤄보게된 문제입니다. 비트연산 중에서 AND(&) 연산을 사용하는데요. SKILLCODES 테이블의 CODE 컬럼값의 의미를 살펴보면, 해당 값을 이진수로 변환했을 때 1로 표현되는 bit는 그 기술을 가지고 있다는 의미라고 합니다. 즉, 예를 들어 어떤 개발자의 SKILL_CODE가 400 (=b'110010000')이라면, 이.. 2024. 3. 24.
[SQL] GROUP BY 사용 시 주의점 [프로그래머스] 물고기 종류 별 대어 찾기 https://school.programmers.co.kr/learn/courses/30/lessons/293261 ㅊ 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음에 작성한 쿼리 에러명 sql_mode=only_full_group_by 문제의 요구사항은 물고기 종류별 가장 큰 물고기 정보를 출력하는 것인데, 아래 코드에서의 문제점은 GROUP BY 후 max() 함수를 사용한 결과 FISH_INFO 테이블의 id 컬럼이 특정되지 않는다는 점이다. 예를 들어, n.fish_name과 max(length) 컬.. 2024. 3. 23.
[SQL 문제풀이] 저자 별 카테고리 별 매출액 집계하기 https://school.programmers.co.kr/learn/courses/30/lessons/144856#qna 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 이 문제에서 애를 먹었던 부분은 카테고리 별 매출액(TOTAL_SALES = 판매량 * 판매가) 을 구하는 것이었다. 아래 코드 상에서 1번 라인의 SUM(s.SALES*b.PRICE) 부분이 그것이다. 처음에는 SUM(s.SALES)*b.PRICE 와 같이 코드를 작성했었는데 이 코드로는 오답처리가 되었다. SUM(s.SALES*b.PRICE) 는 되고, SUM(s.SALES.. 2023. 12. 20.