본문 바로가기
728x90

Programming/SQL70

[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.
[MySQL] 코딩테스트 연습 예제 1 *본 문제는 모 기업 코딩테스트에서 나온 문제를 제 방식대로 변형한 문제입니다. 문제. Customers 내에 구매한 고객(member_no)들에 대하여 고객별 마지막 구매 완료 주문건의 쿠폰할인률을 구하는 SQL 쿼리를 구하시오. * 쿠폰 할인률(last_dc) % : 쿠폰할인액(coupon_price)/주문가격(order_price) *100 * 단, 쿠폰을 쓰지 않는 주문건의 할인률은 0으로 가정한다. * 쿠폰 할인률의 소수점 자리수는 2자리까지 출력한다. Customers 스키마 (예시 테이블) * 해당 테이블은 임의로 값을 넣은 예시입니다. 나의 풀이 in MySQL SELECT member_id, CONCAT(round(coupon_price/order_price*100,2),'%') AS l.. 2020. 9. 7.
[MySQL] 그룹별 순위 매기기 구현하기 SQL 쿼리를 이용하여 DB에 있는 데이터를 추출하다보면, 그룹별로 순위나 번호를 매겨야하는 순간이 있습니다. 최근, SQL 관련 업무를 진행하다 앞서 말한 상황이 발생해서 문제를 해결하기 위해 여러 사이트와 구글링을 이용해서 공부했습니다. Oracle의 경우, ROW_NUMBER() / PARTITION BY를 이용하여 이러한 기능을 사용할 수 있습니다. 하지만, MySQL에는 이러한 기능이 없어 변수를 이용하여 구현해야 합니다. 개인적으로 MySQL을 깔아서 사용하기보다는 SQL test를 할 수 있는 사이트를 자주 애용합니다. 아래의 SQL Fiddle은 직접 데이터 테이블을 만들어서 연습할 수 있기에 아래에 올려두겠습니다. SQL Test Site : http://sqlfiddle.com Tabl.. 2020. 8. 25.
728x90