- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 주신 백업 파일로 같은 버전으로 받아서 데이터베이스에 업로드 했는데 테이블이 생성되지 않습니다. 스키마도요. 아무리 이리저리 해봐도 바뀌지 않아서 방법을 여쭤봅니다
---1번 쿼리(오류) with temp_01 as( select b.order_date from order_items a join orders b on a.order_id = b.order_id group by b.order_date order by b.order_date ) select order_date as ord_date , sum(amount) over (order by order_date) as daily_sum from temp_01 ------------------------------------------------------------------------- ---2번 쿼리(작동) with temp_01 as( select b.order_date , sum(amount) as sum_amount from order_items a join orders b on a.order_id = b.order_id group by b.order_date order by b.order_date ) select order_date as ord_date , sum(sum_amount) over (order by order_date) as daily_sum from temp_01 안녕하세요 선생님. 제가 쿼리를 혼자 작성해보다가 막히는 점이 있어서 질문 드립니다. 쿼리를 다음과 같이 작성했는데 첫 번째 쿼리는 오류가 나고 두 번째 쿼리는 작동했습니다. 두 쿼리의 다른 점은 두 번째 쿼리에서 with 절에 sum(amount) as sum_amount로 amount를 정의한 것입니다. 이전에도 with 절로 temp_01을 종종 정의해서 쿼리를 작성했는데 아직 헷갈립니다. with 절로 temp_01을 만들 때, order_items나 orders에 포함되는 컬럼이라면 굳이 모두 with절의 select에 입력하지 않아도, 그 다음 select 절에 입력해 출력할 수 있다고 생각했습니다. 그래서 1번 쿼리처럼 작성했는데 오류가 나서 헷갈립니다. 읽어주셔서 감사합니다.
안녕하세요~ 아래와 같은 경우에 주문상세와 상품가격 테이블 간의 관계 차수가 어떻게 되는 지 궁금하여 질문드립니다. 주문: 주문번호(PK), 주문일자, 주문고객번호 주문상세: 주문번호(PK,FK), 상품코드(PK,FK), 주문수량 상품: 상품코드(PK), 상품명 상품가격: 상품코드(PK, FK), 시작일자(PK), 종료일자, 가격 주문과 주문상세 테이블이 1:M, 주문상세와 상품이 M:1, 상품과 상품가격 테이블이 1:M 관계를 가지는 건 이해를 했는데요. 주문상세와 상품가격 테이블 간에도 관계 차수가 존재하는 건가요? 주문상세와 상품가격 테이블을 상품코드를 기준으로 조인시켜주고 싶은데 두 테이블은 관계가 없다고 표현하는게 맞는건지 아니면 N:M의 관계를 가지는건지(?) 궁금합니다. 그리고 좋은 강의해주셔서 감사합니다.
with temp_01 as ( select b.product_id, b.category_id , sum(amount) as sum_by_prod from order_items a join products b on a.product_id = b.product_id group by b.product_id, b.category_id ) , temp_02 as ( select product_id, category_id, sum_by_prod , sum(sum_by_prod) over (partition by category_id) as sum_by_cate , row_number() over(partition by category_id order by sum_by_prod) top_prod_ranking from temp_01 ) select * from temp_02 where sum_by_prod >= sum_by_cate*0.05 and top_prod_ranking <= 3 ; 안녕하세요. 위의 코드로 실행시킨 결과, 다음과 같이 출력되었습니다. 12 4 12257.66 234507.26 3 22 5 7122.36 95744.59 3 55 6 17426.40 163022.37 3 14 7 7991.48 99984.57 2 7 7 22044.30 99984.57 3 위의 코드에서 선생님께서 작성하신 코드와 다른 점은 temp_01 생성할 때 group by를 product._id와 category_id, 총 2개로 놓은 것인데요. 선생님이 작성하신 temp_01과 제가 작성한 temp_01를 전체 쿼리에서 떼어와서 각각 실행했을 때 결과는 같았는데, 전체 쿼리에서는 왜 결과가 달라졌는지 궁금합니다. 감사합니다.
안녕하세요, 실전 SQL 데이터분석 연습: 집계 함수 익히고 실제 DB로 연습하기 (업데이트) 13:00~ 부분의 연습문제8 관련하여 궁금한 사항이 있어서 문의 드립니다. 문제는 영화 렌탈 테이블(rental)에서 inventory_id가 367이고, staff_id가 1인 로우(Row) 전체 출력하기 입니다. Rental 테이블의 inventory_id 컬럼은 타입이 mediumint, staff_id는 tinyint 인 것 같습니다. 그런데 정수 타입의 컬럼인데 Where 조건 절에서 ''를 써도 동일하게 결과값이 조회가 되는 것 같더라구요. 제가 잘못 알고 있을 수도 있지만 정수와 같은 숫자 타입의 경우 값을 '' 혹은 "" 없이 입력하고, Str 같은 문자의 경우 '', "" 를 값에 함께 입력해야 문자타입으로 인식하는 것 같은데 혹시 MySQL에서는 컬럼타입에 있어서 이러한 구분 없이 사용이 되는 것일까요? 따옴표 ('') 없이 조건 값을 입력해서 조회했을 경우 따옴표를 함께 조건에 입력해서 조회했을 경우 감사합니다.
select year(order_date), month(order_date), day(order_date) from order_items a join orders b on a.order_id = b.order_id group by year(order_date), month(order_date), day(order_date); to_char 대신에 위처럼 year, month, day로 하면 명시적 형변환자를 추가해야 한다고 뜨면서 오류가 나더라고요. 왜 안 되는지 잘 모르겠습니다.
카일님 안녕하세요 :) 4-7 3번 문제에서 BETWEEN을 사용해주셨는데 mysql에서의 BETWEEN 범위는 이상, 이하라고 하는데 혹시 bigquery는 그 포함 관계가 다른걸까요? 301에서 500 사이면 BETWEEN 301 AND 500 이어야 할 것 같은데 300으로 작성하신 이유가 궁금합니다. 나름대로 검증해보려고 total=301인 데이터를 뽑아보려했는데 pokemon 데이터에는 포함 안되어 있더라구요..ㅎㅎㅠ 그리고 제가 3일 정도 뒤에 갑작스레 SQL 코딩테스트를 보게 되어 벼락치기를 해야하는 상황인데 카일님의 SQL 개념+문풀 JOIN까지 듣고 프로그래머스 고득점 Kit로 문풀을 하면될지.. 시간이 넘 촉박해서 다 할 수 있을지는 모르겠는데 혹시 좀더 효율적인 공부 방향이나 팁이 있다면 추천 부탁드려도 될까요?ㅠㅠ 항상 선한 영향력 감사합니다!!
안녕하세요, 수업을 들으면서 간혹 타자를 잘못 치게 되는 경우가 있는데 이럴때 입력 창에서 어떻게 뒤로 가기를 하거나 빠져나갈 수 있는 방법이 있을까요? 예를들어 제가 exit을 입력해야 하는데 잘못하여 'by'로 잘못 입력 후 엔터를 치니 화살표가 뜨면서 계속 해당 칸에서만 입력이 가능합니다. 이런 경우 어떻게 원래 입력위치로 돌아가서 'exit'으로 입력을 할 수 있을까요? 현재로서는 방법을 알지 못하여 창을 아예 껐다가 모든 명령어를 다시 입력 후 재진행하고 있으나 혹시 이와 같은 상황에서 명령어로 수정이 가능할 지 궁금하여 문의드립니다. 감사합니다.
안녕하세요. 강의를 듣는 동안 계속 실무에 적용할 방법들이 떠올라 일단 다 듣고 하려고 힘들게 꾹꾹 눌러 두고 듣고 있습니다. 꿀강의 정말 감사드립니다. 이번에 들은 7-3 에서 조금 이해가 안가거나 대략적으로 이런거 같다 하는 부분 질문 드리고 싶습니다. 이번 강의 중 아래와 같이 반복문 종료 체크 후 출력이 좀 의아했습니다. EXIT WHEN REC_CUR%NOTFOUND; DBMS_OUTPUT.PUT_LINE('LINE86 : ' || REC_CST_INFO.v_MOBILE); 이를 반대로 출력 후 종료 체크를 하였더니 마지막 출력했던 데이터가 한번 더 출력 되던데 더 이상 데이터가 없으면 CUR에 NULL이 들어가는게 아니라 마지막 ROW가 들어 있는 걸까요? (생각해 보면 NULL이 들어가도 NULLPOINTER EXCEPTION을 피하려면 종료 체크 후 작업(출력)이 맞겠네요 ㅎ) SECTION7 패키지에서 PSP_SECTION7_CURSOR 프로시져를 두 개 만들어 사용 하였는데 PL/SQL 안에서 오버로딩이 되는거라고 생각하면 될까요? (매개 변수에 따라 알아서 호출) 마지막 커서를 통해서 ROW 1개의 데이터를 가져 올 때 ROWTYPE이 아니라 CUR를 통해서 가져오는 이유가 있을까요? 이부분에서 레코드를 써야 하는지 말씀하시고 WEEK TYPE CURSOR 사용을 말씀해 주셨는데.. ROW 가 하나 뿐이니 필요 없는 LOOP문을 삭제하는건 알겠으나 컬럼수만 동일하다면 별도로 수정이 필요 없는 부분 아닌가요?
안녕하세요 카일님~battle 데이터를 업로드하고 말씀해주신 설정을 똑같이 적용했는데 미리보기에서 데이터가 보이지 않고, 쿼리의 FROM으로 불러와도 '표시할 데이터가 없습니다'라고 뜹니다 혹시 관련해서 도움을 구할 수 있을까요?ㅠㅠ 그리고 강의 너무너무 잘 보고 있습니다.. 최곱니다 너무 감사드려요ㅎㅎ (해결 완료) 아래 게시글에서 '빌링 어카운트(결제 계좌)' 연결 후에 문제 해결되셨다고 하셨습니다. 저는 '엇? 나는 지금 결제 계좌 연결되어있는데..?'라고 잠시 생각했으나 다시 되짚어보니 제가 basic 데이터셋을 초반에 만들고, 그 이후에 결제 계좌를 연결했을 수도 있을 것 같아요 그래서 저는 basic2 데이터셋을 새로 생성해서 battle 테이블을 생성해보니 정상적으로 진행되는 것을 확인했습니다! 요약하면 '결제 계좌 연결 => 데이터셋(basic) 생성 => battle 테이블 생성' 순서가 반드시 지켜져야 오류없이 진행되는 것 같습니다ㅠㅠ 원인을 알게 되어 정말 다행이고, 공유해주셔서 감사합니다 :) https://www.inflearn.com/questions/1250442/battle-%ED%85%8C%EC%9D%B4%EB%B8%94-%ED%98%95%EC%84%B1%ED%95%A0-%EB%95%8C-%EC%A0%9C%EA%B0%80-%EC%96%B4%EB%96%A4-%EC%8B%A4%EC%88%98%EB%A5%BC-%ED%96%88%EC%9D%84%EA%B9%8C%EC%9A%94
주문별 고객별 연관 상품 추출 SQL로 구하기 -02 강의를 듣던중 궁금한점이 있어 글을 남기게 되었습니다. 임시테이블 temp_01 에서 인데요.. 고객별 주문별 연관상품 추출하려면 user_id도 같아야하겠지만, order_id(주문번호)도 같다는 조건 하에 self join해야하지 않을까 싶어서요. select a . user_id , a . product_id as prod_01 , b . product_id as prod_02 from temp_00 a join temp_00 b on a . user_id = b . user_id and a . order_id = b . order_id -- 이 부분 추가되어야하지 않을지 궁금합니다. where a . product_id != b . product_id 감사합니다.
질문 드렸던 이전 게시글 ▶ https://www.inflearn.com/questions/1229720/pokemon-%ED%85%8C%EC%9D%B4%EB%B8%94%EC%9D%84-%EC%83%9D%EC%84%B1%ED%95%98%EA%B3%A0%EC%9E%90-%ED%95%98%EB%8A%94%EB%8D%B0-%EB%9C%A8%EB%8A%94-%EC%98%A4%EB%A5%98?re_comment_id=349352 = 구글 드라이브에 파일을 업로드 한 후 공유 드립니다. https://drive.google.com/file/d/1Z8y2eJSlwfYEexaxyAan7Rt3xPrJtznE/view?usp=sharing
제 2정규형을 보다 보니 질문이 생겼습니다. 아이폰 제품에 대한 데이터베이스를 만들 때 예를 들어 아래와 같이 9가지 정보만 간단히 표기하고 싶을 때 하나의 테이블에 다 넣는 것이 아니라 <I Phone 제품 테이블> -모델명 -용량 -출시일 -OS 정보 -색상 -RAM -카메라 -칩 -시리얼 넘버 이런식으로 해야하는건가요? <I Phone 제품 테이블> -모델명 -용량 -출시일 -OS 정보 -색상 -RAM -카메라 -칩 -시리얼 넘버 <모델명 테이블> -모델명 -용량 -출시일 -색상 <RAM 테이블> -RAM 종류 <카메라 테이블> -카메라 종류 <칩 테이블> -칩 종류 <OS 테이블> -OS 종류