본문 바로가기

데이터21

[MySQL/PGS] Lv.2 : 특정 물고기를 잡은 총 수 구하기 https://school.programmers.co.kr/learn/courses/30/lessons/298518 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr프로그래머스 2. 간단한 sql select 문제이다.유의할 점은 id로 판단하면 안되고, name으로 조건 판단을 해야함! select count(*) as FISH_COUNTfrom FISH_INFO I, FISH_NAME_INFO Nwhere I.FISH_TYPE = N.FISH_TYPE and (N.FISH_NAME="BASS" or N.FISH_NAME="SNAPPER"); 2025. 5. 31.
[MySQL/PGS] Lv.4 : 자동차 대여 기록 별 대여 금액 구하기 🥵 https://school.programmers.co.kr/learn/courses/30/lessons/151141 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr프로그래머스 레벨 4, mysql테이블 3개를 조인해야 해서 신경쓸게 정말 많고, 복잡한 문제였다. 할인율 계산하는 서브쿼리에서일 수를 구하기 위해 datediff 함수를 사용해야 하고,할인율이 0일 경우를 고려해 ifnull 함수를,문자열에서 숫자만 추출하기 위해 replace, substring_index를이걸 또 숫자로 변환하기 위한 cast 함수를 써야 했다 ㅎ.ㅎ.... 사실 Duration_type이 3개로 고정되어 있어서, 이렇게까.. 2025. 5. 9.
[MySQL/PGS] Lv.3 : 오랜 기간 보호한 동물(2) https://school.programmers.co.kr/learn/courses/30/lessons/59411 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr프로그래머스 레벨 3mysql join, order, limit 등을 사용해야 한다. 나의 풀이select o.ANIMAL_ID, o.NAMEfrom animal_ins i, animal_outs owhere i.animal_id = o.animal_idorder by (o.datetime-i.datetime) desclimit 2; 2025. 5. 9.
[MySQL/PGS] Lv.1 : 특정 형질을 가지는 대장균 찾기 프로그래머스 레벨 1 (이게 왜....)mysql이진수 변환을 활용해야 하는 문제. 나는 BIN 함수를 이용해서 풀이했다.BIN()은 반환값이 string이기 때문에, substr로 인덱스 접근하면 됨근데 이것보다 간단한 풀이가 많았다,,, 비트연산자 활용 풀이 (select-from 생략)WHERE GENOTYPE & 2 = 0 AND ( (GENOTYPE & 1) > 0 OR (GENOTYPE & 4) > 0 ); 나의 풀이select count(*) as COUNTfrom ecoli_datawhere substr(bin(GENOTYPE),length(bin(GENOTYPE))-1,1) = 0 and (substr(bin(GENOTYPE),length(bin(GENOTYPE)),1.. 2025. 5. 7.
[MySQL/PGS] Lv.3 : 대장균의 크기에 따라 분류하기 2 https://school.programmers.co.kr/learn/courses/30/lessons/301649 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr프로그래머스 레벨 3 mysql 비율(백분위)에 따라 등급을 나누는 쿼리는NTILE() 또는 PERCENT_RANK() 같은 함수로 구현이 가능하다.이번에 처음 알았는데..외워두자 🥹 등급 나누기 = case when then + ntile 응용!! 나의 풀이select ID, CASE NTILE(4) OVER (order by SIZE_OF_COLONY desc) when 1 then 'CRITICAL' when 2 then 'H.. 2025. 5. 7.
[MySQL/PGS] Lv.2 : 분기별 분화된 대장균의 개체 수 구하기 https://school.programmers.co.kr/learn/courses/30/lessons/299308 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr프로그래머스 레벨 2.문자열, 날짜형 문법 응용 문자를 이어 붙이려면 concat 함수 사용,날짜의 분기를 구하려면 quarter 함수 사용!! 나의 풀이select concat(QUARTER(DIFFERENTIATION_DATE),'Q') as QUARTER, count(*) as ECOLI_COUNTfrom ecoli_datagroup by QUARTERorder by QUARTER; 2025. 5. 7.
728x90
반응형