일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- sql
- collections
- import re
- lv4
- coding test
- itertools
- python
- 연습문제
- 코딩
- lambda
- 파이썬
- 완전탐색
- 프로그래머스
- Queue
- time complexity
- coding
- mysql
- 시간복잡도
- level4
- programmers
- 조합
- 데이터분석
- CodingTest
- 코테
- Stack
- join
- Level2
- BFS
- counter
- 코딩테스트
- Today
- Total
목록sql (40)
ror_coding
RANK() 사용과 COUNT(*) OVER() 로 순위와 총 대장균들의 수를 저장하고 연산 ! Question 대장균 개체의 크기를 내름차순으로 정렬했을 때 상위 0% ~ 25% 를 'CRITICAL', 26% ~ 50% 를 'HIGH', 51% ~ 75% 를 'MEDIUM', 76% ~ 100% 를 'LOW' 라고 분류합니다. 대장균 개체의 ID(ID) 와 분류된 이름(COLONY_NAME)을 출력하는 SQL 문을 작성해주세요. 이때 결과는 개체의 ID 에 대해 오름차순 정렬해주세요 . 단, 총 데이터의 수는 4의 배수이며 같은 사이즈의 대장균 개체가 서로 다른 이름으로 분류되는 경우는 없습니다. Point RANK() 사용.COUNT(*) OVER() AS CNTS Code SELECT ID, ..
GROUP BY 될 것 같은데 자꾸 오류 대잔치로 돌고 돌아 정답을 맞춘 문제..웨지감자; 여전히 의문.. 이유 알아내면 적어 놓겠슈 Question 물고기 종류 별로 가장 큰 물고기의 ID, 물고기 이름, 길이를 출력하는 SQL 문을 작성해주세요. 물고기의 ID 컬럼명은 ID, 이름 컬럼명은 FISH_NAME, 길이 컬럼명은 LENGTH로 해주세요. 결과는 물고기의 ID에 대해 오름차순 정렬해주세요. 단, 물고기 종류별 가장 큰 물고기는 1마리만 있으며 10cm 이하의 물고기가 가장 큰 경우는 없습니다. Point WHERE 절 sub query를 사용. ( sub query에서 MAX 값 추출 -> 길이 비교. Code SELECT ID, FISH_NAME, LENGTH FROM FISH_I..
HAVING 절에 AVG ( CASE WHEN ~ END ) >= 33 가 가능하다!여기서 10 이하나 NULL 값을 10으로 대체해주는 코드가 될 줄이야.. Question FISH_INFO에서 평균 길이가 33cm 이상인 물고기들을 종류별로 분류하여 잡은 수, 최대 길이, 물고기의 종류를 출력하는 SQL문을 작성해주세요. 결과는 물고기 종류에 대해 오름차순으로 정렬해주시고, 10cm이하의 물고기들은 10cm로 취급하여 평균 길이를 구해주세요. 컬럼명은 물고기의 종류 'FISH_TYPE', 잡은 수 'FISH_COUNT', 최대 길이 'MAX_LENGTH'로 해주세요. Point HAVING AVG ( CASE WHEN ~ END ) >= 33 Code SELECT COUNT(*) AS FISH..
LEFT JOIN으로 부모와 매칭이 안 되는 것들을 사라지지 않게 해서 COUNT() 할 때 0인 것들의 결과가 안 나오는 것을 방지한다! Question 대장균 개체의 ID(ID)와 자식의 수(CHILD_COUNT)를 출력하는 SQL 문을 작성해주세요. 자식이 없다면 자식의 수는 0으로 출력해주세요. 이때 결과는 개체의 ID 에 대해 오름차순 정렬해주세요. Point LEFT JOIN Code SELECT P.ID, COUNT(C.ID) AS CHILD_COUNT FROM ECOLI_DATA P LEFT JOIN ECOLI_DATA C ON P.ID = C.PARENT_ID GROUP BY 1 ORDER BY 1 now meOn my github
sub query를 from에 넣었다가 group by로 묶이는 결과 때문에 골치 아팠다.. 끄악where 절 서브쿼리를 사용해서 IN 을 사용하니 AND 구문으로 날짜 비교를 두 번 해야하는게 마음엔 안 들었지만..! 이렇게 풀면 총 5번 이상 대여한 차의 각각 월별 대여 횟수를 출력할 수 있다 ! Question CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 대여 시작일을 기준으로 2022년 8월부터 2022년 10월까지 총 대여 횟수가 5회 이상인 자동차들에 대해서 해당 기간 동안의 월별 자동차 ID 별 총 대여 횟수(컬럼명: RECORDS) 리스트를 출력하는 SQL문을 작성해주세요. 결과는 월을 기준으로 오름차순 정렬하고, 월이 같다면 자동차 ID를 기준으로 내림차순 정렬..
한 ID에 대해서 대여중/대여 가능이 여러 개 나올 때 날짜 비교 후 MAX( ) = 1를 통해서 대여중이 있는지 확인하는 코드이다.MAX ( '날짜' BETWEEN A AND B ) = 1 로 간단하게 풀 수 있어서 좋다 ! Question CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 2022년 10월 16일에 대여 중인 자동차인 경우 '대여중' 이라고 표시하고, 대여 중이지 않은 자동차인 경우 '대여 가능'을 표시하는 컬럼(컬럼명: AVAILABILITY)을 추가하여 자동차 ID와 AVAILABILITY 리스트를 출력하는 SQL문을 작성해주세요. 이때 반납 날짜가 2022년 10월 16일인 경우에도 '대여중'으로 표시해주시고 결과는 자동차 ID를 기준으로 내림차순 정렬해주세..
SUBSTR( ) 사용. 전화번호에 하이픈 추가하는 코드가 포함되어 있다. Question USED_GOODS_BOARD와 USED_GOODS_USER 테이블에서 중고 거래 게시물을 3건 이상 등록한 사용자의 사용자 ID, 닉네임, 전체주소, 전화번호를 조회하는 SQL문을 작성해주세요. 이때, 전체 주소는 시, 도로명 주소, 상세 주소가 함께 출력되도록 해주시고, 전화번호의 경우 xxx-xxxx-xxxx 같은 형태로 하이픈 문자열(-)을 삽입하여 출력해주세요. 결과는 회원 ID를 기준으로 내림차순 정렬해주세요. Point CONCAT()SUBSTR( TLNO, 1, 3 ) index 1부터 시작해서 문자 3개 출력 Code SELECT USER_ID, NICKNAME, CONCAT(CI..
DISTINCT( ) 사용 시 유의점 !SELECT DISTINCT( ) 를 해도 같은 단어가 두 개 나와서 답이 틀렸다.왜 그런지 이유를 찾아보니 distinct는 뒤에 따라 붙는 모든 컬럼들의 중복되는 '조합' 중 하나만 출력한다. Question REST_INFO 테이블에서 음식종류별로 즐겨찾기수가 가장 많은 식당의 음식 종류, ID, 식당 이름, 즐겨찾기수를 조회하는 SQL문을 작성해주세요. 이때 결과는 음식 종류를 기준으로 내림차순 정렬해주세요. Point WHERE 절 서브쿼리SELECT DISTINCT( FOOD_TYPE ) 을 해도 '한식'이 두 개 나옴 -> 따라서 GROUP BY FOOD_TYPE으로 하나만 출력. Code SELECT FOOD_TYPE, REST_ID, REST_..