본문 바로가기
728x90
반응형

GROUP BY13

1055 ONLY_FULL_GROUP_BY MySQL의 ONLY_FULL_GROUP_BY 모드가 활성화되어 있을 때 발생하는 오류SELECT 절에 포함된 컬림이 GROUP BY 절에 없거나, 집계 함수(SUM, COUNT, AVG 등)로 처리되지 않은 경우 발생 해결 방법1. GROUP BY 절에 모든 비집계 컬럼을 추가SELECT ID, NAME, COUNT(*)FROM INFOGROUP BY ID, NAMESELECT 절에 있는 모든 비 집계 컬럼(ID, NAME)을 GROUP BY 절에도 포함 2. 집계 함수 사용SELECT MIN(ID), NAME, COUNT(*)FROM INFOGROUP BY NAMEID가 대표값이 아니라면, MIN이나 MAX 같은 집계 함수 사용 3. ONLY_FULL_GROUP_BY 비활성화 (비추천)SELECT S.. 2025. 2. 6.
Lv.3 물고기 종류 별 대어 찾기 물고기 종류 별 대어 찾기 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr물고기 종류 별로 가장 큰 물고기의 ID, 물고기 이름, 길이를 출력하는 SQL 문을 작성해주세요.물고기의 ID 컬럼명은 ID, 이름 컬럼명은 FISH_NAME, 길이 컬럼명은 LENGTH로 해주세요.결과는 물고기의 ID에 대해 오름차순 정렬해주세요.단, 물고기 종류별 가장 큰 물고기는 1마리만 있으며 10cm 이하의 물고기가 가장 큰 경우는 없습니다. 풀이SELECT ID, FISH_NAME, LENGTHFROM FISH_INFO FI LEFT JOIN FISH_NAME_INFO FN ON FI.FISH_TYPE =.. 2025. 2. 6.
Lv.3 대장균들의 자식의 수 구하기 대장균들의 자식의 수 구하기 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr대장균의 대체의 ID(ID)와 자식의 수(CHILD_COUNT)를 출력하는 SQL 문을 작성해주세요.자식이 없다면 자식의 수는 0으로 출력해주세요. 이 때 결과는 개체의 ID에 대해 오름차순 정렬해주세요. 풀이SELECT A.ID, COUNT(B.PARENT_ID) CHILD_COUNTFROM ECOLI_DATA A LEFT JOIN ECOLI_DATA B ON A.ID = B.PARENT_IDGROUP BY A.ID 2025. 2. 5.
Lv.2 조건에 맞는 사원 정보 조회하기 조건에 맞는 사원 정보 조회하기 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krHR_DEPARTMENT, HR_EMPLOYEES, HR_GRADE 테이블에서 2022년도 한해 평가 점수가 가장 높은 사원 정보를 조회하려 합니다.2022년도 평가 점수가 가장 높은 사원들의 점수, 사번, 성명, 직책, 이메일을 조회하는 SQL 문을 작성해주세요.2022년도의 평가 점수는 상,하반기 점수의 합을 의미하고, 평가 점수를 나타내는 컬럼의 이름은 SCORE로 해주세요. 풀이SELECT SUM(SCORE) SCORE, HE.EMP_NO, HE.EMP_NAME, HE.POSITIO.. 2025. 2. 3.
Lv.2 자동차 평균 대여 기간 구하기 자동차 평균 대여 기간 구하기 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krCAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 평균 대여 기간이 7일 이상인 자동차들의 자동차 ID와 평균 대여 기간(컬럼명 : AVERAGE_DURATION) 리스트를 출력하는 SQL 문을 작성해주세요.평균 대여 기간은 소수점 두번째 자리에서 반올림하고, 결과는 평균 대여 기간을 기준으로 내림차순 정렬해주시고, 평균 대여 기간이 같으면 자동차 ID를 기준으로 내림차순 정렬해주세요. 풀이SELECT CAR_ID, ROUND(AVG(DATEDIFF(END_DATE, START_DATE)+1).. 2025. 1. 31.
Lv.2 재구매가 일어난 상품과 회원 리스트 구하기 재구매가 일어난 상품과 회원 리스트 구하기 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krONLINE_SALE 테이블에서 동일한 회원이 동일한 상품을 재구매한 데이터를 구하여, 재구매한 회원 ID와 재구매한 상품 ID를 출력하는 SQL 문을 작성해주세요.결과는 회원 ID를 기준으로 오름차순 정렬해주시고 회원 ID가 같다면 상품 ID를 기준으로 내림차순 정렬해주세요. 풀이SELECT USER_ID, PRODUCT_IDFROM ONLINE_SALEGROUP BY USER_ID, PRODUCT_IDHAVING COUNT(PRODUCT_ID) >= 2ORDER BY 1, 2 DESC 2025. 1. 31.
728x90
반응형