본문 바로가기
728x90

Programming/SQL74

[MySQL] 중복 데이터 찾기 및 제거 MySQL로 중복 데이터 처리하기 데이터 예시 - SQL Fiddle에서 데이터 확인 id first_name last_name email 1 Carine Schmitt carine.schmitt@verizon.net 2 Jean King jean.king@me.com 3 Peter Ferguson peter.ferguson@google.com 4 Janine Labrune janine.labrune@aol.com ˙˙˙ ˙˙˙ ˙˙˙ ˙˙˙ ※ 출처 : MySQLTutorial 중복 데이터 확인 (중복 행) ▶ 쿼리 실행 SELECT first_name, last_name, email, COUNT(*) as cnt FROM contacts GROUP BY email, first_name, last_na.. 2021. 5. 30.
SQL 연습 사이트 추천 (듀토리얼, 문제) 안녕하세요. 오늘은 정보를 담는 그릇, DB에 접근할 수 있는 유용한 언어 SQL를 공부하는 데 유용한 사이트들을 소개해드리도록 하겠습니다. SQL 듀토리얼 웹사이트 집에서 개인 pc로 SQL을 연습하기 위해 상용 DBMS나 Oracle 등 SQL 오픈소스를 설치하기 힘든 상황에서 빠르고 간편하게 Web 상에서 SQL을 연습할 수 있는 사이트를 소개해드리겠습니다. 1. w3schools 사이트 : https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_all SQL Tryit Editor v1.6 WebSQL stores a Database locally, on the user's computer. Each user gets their own D.. 2021. 5. 30.
[MySQL] 생년월일 데이터 다루기 > 연령대별 변수 생성 안녕하세요. 오늘은 생년월일이 포함된 데이터 테이블에서 MySQL을 활용하여 연령대로 구분하는 쿼리를 소개하고자 포스팅하게 되었습니다. 생년월일 등 날짜 데이터는 우리가 흔히 만날 수 있는 데이터 타입으로 보는 사람의 입맛에 맞게 잘 다룰 줄 알아야 합니다. 또한, 집단별로 원하는 변수를 추출, 생성하는 query는 sql의 기본 중에 기본이므로 잘 알아둬야 하므로 샘플 데이터와 문제를 만들어보았습니다. ※ 간단한 SQL 쿼리 예시를 보여드리기 위해 자주 애용하는 SQL Test site를 사용했습니다. SQL Test Site : http://sqlfiddle.com ▶ Sample Data * 해당 Sample Data는 제가 임의로 만든 값이므로 큰 의미가 없습니다. Table : emp # 데이터.. 2021. 5. 24.
[MySQL] 그룹별 누적 합계 구하기 SQL 쿼리를 활용하여 DB에 있는 데이터를 추출하다보면, 그룹별로 누적 합계를 계산해야 할 때가 있습니다. 최근, SQL 관련 업무를 진행하다 앞서 말한 상황이 발생해서 문제를 해결하기 위해 여러 사이트를 참고하여 포스팅을 해보겠습니다. ※ Oracle은 PARTITION BY / ROW_NUMBER OVER() 등 함수를 통하여 이러한 기능을 쉽게 구현할 수 있습니다. 하지만, 낮은 버전의 MySQL에는 이러한 기능이 부족하여 변수 설정을 통해 누적 합계를 구해야 합니다. (최신 버전, 8.0 이상에서는 앞서 말씀드린 함수가 사용 가능하게 업데이트 된 것으로 알고 있습니다.) 개인적으로 공부할SQL 쿼리를 활용하여 DB에 있는 데이터를 추출하다보면, 그룹별로 누적 합계를 계산해야 할 때가 있습니다. .. 2021. 4. 11.
[MySQL] 날짜별 순서 예제 *본 문제는 모 기업 코딩테스트에서 나온 문제를 제 방식대로 변형한 문제입니다. 문제. orders 테이블 안에 결제완료인 주문에 한해서 해당 멤버(member_id)의 몇 번째 주문(order_sequence)를 나타내는 쿼리를 작성하시오. *최종결과에는 member_id, order_time, order_sequence만 나타내시오. orders 스키마 * 해당 테이블은 임의로 값을 넣은 예시입니다. 스키마 작성 코드 * 해당 values는 연습용으로 만든 값입니다. CREATE TABLE orders (`order_code` int, `order_time` datetime, `pay_money` int, `pay_yn` varchar(1), `member_id` int) ; INSERT INTO o.. 2020. 11. 11.
[MySQL] 코딩테스트 연습 예제 2 *본 문제는 모 기업 코딩테스트에서 나온 문제를 제 방식대로 변형한 문제입니다. 문제. 주어진 테이블을 바탕으로 members 내 회원(member_id) 중 회사의 직원이 아닌 회원에 대해 1. 첫 구매 시간(first_time) 2. 마지막 구매 시간(last_time) 3. 총 결제액(sum_pay) 4. 주문수(order_cnt) 를 구하는 쿼리를 작성하시오. (단, 해당 칼럼은 모두 결제완료인 주문에 한해서 계산되어야 함. 또한, 쿼리를 실행하여 얻게 된 데이터는 반드시 주어진 테이블에 있는 데이터이어야 함.) * 주어진 테이블 모두 임의로 넣은 값입니다. members 스키마 orders 스키마 스키마 작성 코드 * 해당 values는 연습용으로 만든 값입니다. CREATE TABLE memb.. 2020. 11. 7.
728x90