안녕하세요 강사님 먼저 실습을 바탕으로 pl/sql 을 내주셔서 너무 감사합니다 인프런 혹은 많은 유료 db 강의를 보았지만 최소한 작업 하려는 테이블, 쿼리는 이런 의미이고 관계는 이렇다 라고 설명 혹은 사진이라도 올려 주셔서 그걸 기반으로 생각하며 학습을 하는데 해당 강의는 정말 pl/sql의 기능만 알려주셔서 새로운 테이블 컬럼이 매개변수로 나오고 이러면 어떤 테이블인지 모르는 쿼리 초보인 저의 기준에서 에러가 났을시 생각을 안하고 오타만 찾기 바쁘더라구요 해당 강의를 보는 청자분들 중 저처럼 프로그래밍 안해보고, 쿼리 능력이 부족하지만 업무에 프로시져가 필요하여 헤매다 해당 강의를 듣는 사람을 위해 좀 더 배려를 해주신다면 더 많은 분들이 봐주실거라 믿습니다 감사합니다
안녕하세요. 강의 잘 보고 있습니다. 의문이 생겨 질문을 남깁니다. 트랜잭션 전파속성을 REQUIRES_NEW로 해서 새로 생성한 이유가 있을까요? 그냥 REQUIRED로 하면 안되나요?? 강의 내에서 데이터소스를 분리하는 것을 추천해주셨는데, 커넥션 풀 사이즈를 늘리면 안되나요?? 감사합니다.
안녕하세요 선생님 :) 집계(Aggregate) Analytic SQL 실습 - 03 에서 Q: product_id 총 매출액을 구하고, 전체 매출 대비 개별 상품의 총 매출액 비율을 소수점2자리로 구한 뒤 매출액 비율 내림차순으로 정렬 문제를 풀던 과정 중에 제가 select * from ( select order_id , line_prod_seq, product_id, amount , sum (amount) as product_total_sum , round (amount/ sum (amount), 2) as total_sum_amount_ratio from nw.order_items )a order by total_sum_amnt_ratio; 이렇게 일단 쿼리를 적어서 실행시켜보았는데요. 오류가 발생했는데 그 내용이 "order_items.order_id" 는 반드시 GROUP BY 절내에 있어야 하던지 또는 집계 함수 내에서 사용되어져야 한다. 라고 하는데 왜 group by를 사용해야하는지 잘 모르겠어서 여쭤봅니다. select sum(amount) as product_total_sum from nw.order_items; 와 같이 간단한 일반적 집계는 group by 없이 가능한데 제 쿼리는 왜 실행이 안되는 걸까요?
안녕하세요 spring tools4를 설치하였고 돌아가는지 확인하고 싶어 확인하는 도중에 오류가 걸려서 글 올립니다. java는 11로 사용하였고 demo1는 local로 실행했을 때 Exception in thread "main" java.lang.UnsupportedClassVersionError: org/springframework/boot/SpringApplication has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0 오류가 떠서 java버전이 다르다는 것을 알기는 알아냈지만 인터넷으로 검색한 방법을 다 써봐도 해결이 안됐습니다. 사용한 방법은 build path에서 jre system library로 해보았고 installed jres도 제대로 해두었습니다. compiler에도 11로 표시하였는데 혹시 다른 추가적이 방법이 있을까요
해당문제 쿼리에 대해 manager 철자를 수정시 작동한다고 피드백을 주셨는데 작동이 되지 않아서 어디가 오류가 있는지 여쭤보고자 질문드립니다 SELECT C.company _code, C.founder, COUNT DISTINCT(L.lead_manager_code), COUNT DISTINCT(S.senior_manager_code), COUNT DISTINCT(M.manager_code), COUNT DISTINCT(E.employee_code) FROM Company C INNER JOIN Lead Manager L ON C.company_code = L.company_code INNER JOIN Senior Manager S ON S.company_code = L.company_code INNER JOIN Manager M ON M.company_code = S.company_code INNER JOIN Employee E ON E.company_code = M.company_code GROUP BY C.Company_code, C.founder ORDER BY C.company_code 추가로, inner join을 하는 부분이 1과 2중 어떤 부분이 왜 맞는지도 헷갈려서 설명을 부탁드리겠습니다 감사합니다 INNER JOIN Lead_Manager l ON c.company _code = l.company _code INNER JOIN Senior_Manager s ON c.company _code = s.company _code INNER JOIN Manager m ON c.company _code = m.company _code INNER JOIN Employee e ON c.company _code = e.company _code INNER JOIN Lead Manager L ON C.company _code = L.company _code INNER JOIN Senior Manager S ON S.company _code = L.company _code INNER JOIN Manager M ON M.company _code = S.company _code INNER JOIN Employee E ON E.company _code = M.company _code
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 저는 ddl auto를 create로 하고 시퀀스 전략 했을 때, persist 안하고 봐도 시퀀스가 그냥 1, 증가가 50입니다.. 그 다음 persist를 한번 해 봤더니, next value for member_seq를 한번만 호출했습니다. 근데 persist 2번 이상하면, next value for member_seq를 2번 호출합니다. 시퀀스의 현재값도 101번이 됩니다. 뭔가 JPA쪽에서 놓친건가요..? 아니면 제가 뭔가 강의에서 놓친건가요? 그렇게 현재값 101번 만든 후, 이번엔 dll.auto 를 none으로 해서 다시 돌려봤더니 다서 persist 해서 테이블에 저장해서 나온 건 52부터 찍힙니다. persist 안한 것 persist 1번 next value for member_seq 한번 호출 persist 2번 호출 next value for member_seq가 두번 호출 됍니다. 그런데.. 이 상태에서 ddl.auto 를 none으로 하고 다시 한번 로직을 실행해 봤더니.. 어.. 제 생각이 맞다면 101부터 id가 매겨져야 할 것 같은데.. 어.. public static void main(String[] args) { EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello"); EntityManager em = emf.createEntityManager(); EntityTransaction tx = em.getTransaction(); tx.begin(); try{ Member member1 = new Member(); member1.setUsername("A"); Member member2 = new Member(); member2.setUsername("B"); Member member3 = new Member(); member3.setUsername("C"); em.persist(member1); em.persist(member2); // em.persist(member3); tx.commit(); } catch (Exception e){ tx.rollback(); } finally { em.close(); } emf.close(); } 사용 버전 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>jpa-basic</groupId> <artifactId>ex-hello-jpa</artifactId> <version>1.0-SNAPSHOT</version> <properties> <maven.compiler.source>17</maven.compiler.source> <maven.compiler.target>17</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>org.hibernate.orm</groupId> <artifactId>hibernate-core</artifactId> <version>6.2.9.Final</version> </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>2.1.214</version> </dependency> </dependencies> </project>
선생님 안녕하세요? 강의 잘 보고 있습니다. 월 말일 기준으로 2일전에 생성한 user를 제외하고, session 수를 카운트 하기 위해서 where 절 안에 아래와 같이 수업시간에 말씀주셨었는데요. select a.user_id, date_trunc('month', visit_stime)::date as month, count(*) as monthly_user_cnt from ga.ga _sess a join ga.ga _users b on a.user_id = b.user_id where b.create_time <= (date_trunc('month', b.create_time) +interval '1 month' - interval '1 day')::date -2 group by a.user_id, date_trunc('month', visit_stime)::date 이 부분에 의하면, 말일 기준으로 2일 전부터 말일까지 create된 user의 경우, 모든 month에서 session 데이터가 필터링 되는데 의도하신 바가 맞으신지요? 어떤 user가 9월 29일에 create 하고, 9월 30일에 session 기록이 있으면, 이건 count되지 않고, 10월 3일의 session 기록은 10월에 count하는 것이 의도하신 것이 아닌지요? 그럴경우에는 아래와 같이 where 절을 수정해야 count가 될 것 같아요. where b.create_time <= (date_trunc('month', a.visit_stime)+interval '1 month' - interval '1 day')::date -2
이전에도 설치가 안되서 고생하다가 지인이 관리자 계정으로 접근해서 설치하는 방법을 알려주셔서 겨우 설치를 완료했었습니다. 비전문가이다보니까 기초 강의만 듣고는 강의가 이해가 안되어서 추가로 다른 강의를 더 듣고 다시 강의를 들으러 왔는데, 오랜만에 접속하니 오류창이 뜨면서 안열려서 기존 설치 내역을 모두 지우고 재설치를 시도하고있습니다. 그런데 자꾸 기존 데이터와 호환이 안된다는 식의 알림창이 뜨네요... 너무 듣고싶어요.... 제발 설치 좀 도와주세요 ㅠㅠ
SELECT C.company _code, C.founder, COUNT DISTINCT(L.lead_manager_code), COUNT DISTINCT(S.senior_manager_code), COUNT DISTINCT(M.manager_code), COUNT DISTINCT(E.employee_code) FROM Company C INNER JOIN Lead Manager L ON C.company _code = L.company _code INNER JOIN Senior Manager S ON S.company _code = L.company _code INNER JOIN Manger M ON M.company _code = S.company _code INNER JOIN Employee E ON E.company _code = M.company _code GROUP BY C.Company _code, C.founder ORDER BY C.company _code 다음과 같이 작성하였는데 어떤 부분에서 오류가 발생하였는지 한번 확인해주시면 감사드리겠습니다. 모든 조건을 맞게 기입하였다고 생각되는데 계속 오류가 반복해서 뜨네요 ㅜㅜ
안녕하세요. 실습용 스키마 다운로드 및 설치를 하려고 하는데, 스키마가 설치가 되지 않아 문의드립니다. 운영체제는 mac os 를 사용하고 있으며 기본 세팅이 원래 영어로 되어 있습니다. 이전에 이미 DBeaver 가 설치 되어 있는 상태 였고 , 이전에 SQL 를 공부하고 있던 터라 다른 스키마 데이터가 다운로드 되어 있는 상태였습니다. 아래 이미지는 [ postgres2 ] 가 기존에 있었던 저장되어 있던 파일들에 대한 스크린 샷 입니다. 기존의 [ postgres2] 를 [ 복사 - 붙여넣기 ] 하여 새로운 [ postgres2 1 ] 를 만들었고, [ postgres2 1 ] 영상을 따라서 dump_postgres_analytics_funda.backup 파일을 다운 받고 다시 restore 로 설치를 했는데, 여전히 기존에 있던 스키마(기존에 있던 테이블들)만 나타납니다. [ 실습용 스키마 설치 이슈 시 적용 하세요 ] 영상을 따라 git hub 에서 파일을 다운받고 create schema nw; 를 실행했는데 오류가 나타났습니다. 구글에 오류를 검색해보니 (*참고 URL: https://velog.io/@shj5508/PostgreSQL-%ED%85%8C%EC%9D%B4%EB%B8%94-%EA%B6%8C%ED%95%9C-%EA%B4%80%EB%A6%AC%ED%95%98%EA%B8%B0) ( GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO username; ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT USAGE, SELECT ON SEQUENCES TO username;) 라는 글이 있어 실행해 보았습니다. 아래 스크린샷이 실행 결과 입니다. (제 user name 은 grace 입니다.) 그리고 다시 create schema nw; 를 실행하니 아래의 스크린 샷과 같은 오류가 나타납니다. 다른 방식으로 실습용 스키마를 설치하거나 저장할 수 없을까요? 도와주세요 ㅜㅜ
안녕하세요! dbeaver에 postgres backup 파일을 연결시키는 과정에서 똑같이 따라했는데 아래 이미지 처럼 start button이 비활성화 되어서 클릭할 수가 없습니다 ㅠ 환경은 맥 m1 이고 postgres를 말씀해주신 방식이 윈도우같아서 brew 에서 설치했고 'minseo'라는 계정에서 superuser 롤 부여한 상태입니다. 감사합니다
안녕하세요. HEIDISQL 12.3.0.6589를 사용하고 있고요. CSV 파일 불러오기 강습내용대로, 그리고 AGE가 NULL 허용으로 되어 있고 기본값을 NULL로 해놨으나, CSV가져오기를 하면 경고가 뜨고 데이터를 확인하면 AGE NULL 이어야 하는데 '0'으로 되어있는데요. 그 이유를 모르곘습니다.