inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

테이블 및 컬럼 설명 관련 문의

미해결

Oracle PL/SQL 딱 이만큼.. [개념+실전]

안녕하세요 강사님 먼저 실습을 바탕으로 pl/sql 을 내주셔서 너무 감사합니다 인프런 혹은 많은 유료 db 강의를 보았지만 최소한 작업 하려는 테이블, 쿼리는 이런 의미이고 관계는 이렇다 라고 설명 혹은 사진이라도 올려 주셔서 그걸 기반으로 생각하며 학습을 하는데 해당 강의는 정말 pl/sql의 기능만 알려주셔서 새로운 테이블 컬럼이 매개변수로 나오고 이러면 어떤 테이블인지 모르는 쿼리 초보인 저의 기준에서 에러가 났을시 생각을 안하고 오타만 찾기 바쁘더라구요 해당 강의를 보는 청자분들 중 저처럼 프로그래밍 안해보고, 쿼리 능력이 부족하지만 업무에 프로시져가 필요하여 헤매다 해당 강의를 듣는 사람을 위해 좀 더 배려를 해주신다면 더 많은 분들이 봐주실거라 믿습니다 감사합니다

  • sql
  • oracle
  • PL/SQL
홍태경 댓글 1 좋아요 1 조회수 413

트랜잭션 전파속성, 데이터 소스

해결됨

재고시스템으로 알아보는 동시성이슈 해결방법

안녕하세요. 강의 잘 보고 있습니다. 의문이 생겨 질문을 남깁니다. 트랜잭션 전파속성을 REQUIRES_NEW로 해서 새로 생성한 이유가 있을까요? 그냥 REQUIRED로 하면 안되나요?? 강의 내에서 데이터소스를 분리하는 것을 추천해주셨는데, 커넥션 풀 사이즈를 늘리면 안되나요?? 감사합니다.

  • java
  • spring
  • 동시성
rhkdals195 댓글 2 좋아요 0 조회수 665

집계함수를 사용할 때 반드시 group by 와 함께 써야하나요?

미해결

데이터 분석 SQL Fundamentals

안녕하세요 선생님 :) 집계(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 없이 가능한데 제 쿼리는 왜 실행이 안되는 걸까요?

  • sql
  • postgresql
  • dbms/rdbms
이경진 댓글 2 좋아요 0 조회수 2056

Naver Login시 권한에 대해 질문이 있습니다

미해결

스프링 시큐리티 OAuth2

CustomAuthorityMapper 클래스에서 강사님과 코드는 동일하나 authorities가 넘어올시에 위와 같이 넘어옵니다. 그래서 강사님 영상과 다르게 ROLE_USER만이 authority에 대해서 담기게 되고 위의 사진은 hasRole 권한을 해제하여 찍어본것입니다. /api/user에 진입이 불가합니다 코드는 동일한데 뭐가 문제일까요,,,? 강사님의 네이버 로그인시는 response를 안벗기고도 진입이 가능해서 질문드립니다 package io.security.oauth2.sociallogin; import lombok.RequiredArgsConstructor; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.authority.mapping.GrantedAuthoritiesMapper; import java.util.Collection; import java.util.HashSet; import java.util.Set; public class CustomAuthorityMapper implements GrantedAuthoritiesMapper { private String prefix = "ROLE_"; @Override public Set<GrantedAuthority> mapAuthorities(Collection<? extends GrantedAuthority> authorities) { HashSet<GrantedAuthority> mapped = new HashSet<>(authorities.size()); for (GrantedAuthority authority : authorities) { mapped.add(mapAuthority(authority.getAuthority())); } return mapped; } private GrantedAuthority mapAuthority(String name) { if(name.lastIndexOf(".") > 0){ int index = name.lastIndexOf("."); name = "SCOPE_" + name.substring(index+1); } if (!this.prefix.isEmpty() && !name.startsWith(this.prefix)) { name = this.prefix + name; } return new SimpleGrantedAuthority(name); } }

  • java
  • spring
  • spring-boot
  • oauth
hangs0908 댓글 2 좋아요 0 조회수 592

일대다 패치 조인 사용 시, 뻥튀기가 되지 않는 문제

미해결

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 아래 처럼 print를 찍었을 때, 저는 id 1과 2가 두 개가 나오지 않습니다. 관련 코드는 아래 첨부하겠습니다. 강의대로 똑같이 했는데, 왜 1개씩만 나오는지 모르겠습니다.. distinct를 넣었을 때와 안넣었을때의 결과가 같습니다. DB에서는 4개로 나오는데 Postman이랑 콘솔에서는 2개로 난오네요.. [v3 적용 시] package jpabook.jpashop2.api; import jpabook.jpashop2.domain.Address; import jpabook.jpashop2.domain.Order; import jpabook.jpashop2.domain.OrderItem; import jpabook.jpashop2.domain.OrderStatus; import jpabook.jpashop2.repository.OrderRepository; import jpabook.jpashop2.repository.OrderSearch; import lom bok.Data; import lombok.Getter; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import java.time.LocalDateTime; import java.ut il.List; import java.util.stream.Collector s; import stati c java.util.stream.Collectors. toList ; @RestController @RequiredArgsConstructor public class OrderApiController { private final OrderRepository orderRepository; @GetMapping("/api/v1/orders") public List<Order> ordersV1(){ List<Order> all = orderRepository.findAllByString(new OrderSearch()); for (Order order : all) { order.getMember().getName(); // 프록시 객체 초기화 order.getDelivery().getAddress(); List<OrderItem> ord erItems = order.g etOrderItems(); orderItems.stream().forEach(o -> o.getItem().getName()); } return all; } @GetMapping("/api/v2/orders") public List<OrderDto> ordersV2(){ List<Order> orders = orderRepository.findAllByString(new OrderSearch() ); List<OrderDto> collect = orders.stream() .map(o -> new OrderDto(o)) .collect( toList ()); return collect; } @GetMapping("/api/v3/orders") public List<OrderDto> ordersV3(){ List<Order> orders = orderRepository.findAllWithItem(); for (Order order : orders) { System. out .println("order ref= " + order + " id=" + o rder.getId()); } List<OrderDto> collect = orders.stream() .map(o -> new OrderDto(o)) .collect( toList ()); return collect; } @Data static class OrderDto{ private Long orderId; private String name; private LocalDateTime orderDate; private OrderStatus orderStatus; private Address address; // VO는 그대로 사용해도 되지만, (VO는 객체이기 때문에, 안에 값이 변하면 다른 객체로 판단) private List<OrderItemDto> orderItems; // 엔티티는 DTO로 다시 한번 래핑이 필요하다. public OrderDto(Order order) { orderId = order.getId(); name = order.getMember().getName(); orderDate = order.getOrderDate(); orderStatus = order.getStatus(); address = order.getDelivery().getAddress(); orderItems = order.getOrderItems().stream() .map(orderItem -> new OrderItemDto(orderItem)) .collect( toList ()); } } @Data static class OrderItemDto { // OrderItem에서 필요한 값만 다시 추출 private String itemName; // 상품명 private int orderPrice; // 주문 가격 private int count; // 주문 수량 public OrderItemDto(OrderItem orderItem) { itemName = orderItem.getItem().getName(); orderPrice = orderItem.getOrderPrice(); count = orderItem.getCount(); } } } public List<Order> findAllWithItem() { return em.createQuery("select o from Order o" + " join fetch o.member m" + " join fet ch o.deliv ery d" + " join fetch o.orderItems oi" + " join fetch oi.item i", Order.class) .getResultList(); }

  • java
  • spring
  • spring-boot
  • jpa
rr8602 댓글 1 좋아요 3 조회수 1041

결과 쿼리 개수가 맞지 않아서 문의 드립니다.

미해결

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] [간단한 주문 조회 V3: 엔티티를 DTO로 변환 -패치 조인 최적화] 강의에서 5분 50초 쯤에 v2를 돌려봤을 때, 강사님은 쿼리가 5번 나오는데, 저는 계속 7번이 나오더라구요... order가 처음에 주문 2개를 만들어서 이미 영속성 상태라 그 다음에는 1차 캐시에서 가져오는 것으로 보여 쿼리는 생성이 안되어야 한다고 생각이 드는데, 왜 계속 order 쿼리가 2번 더 나오는 걸까요...? [Query] 2023-10-25T21:54:33.448+09:00 DEBUG 37176 --- [nio-8080-exec-3] org.hibernate.SQL : select o1_0.order_id, o1_0.deliver_id, o1_0.member_id, o1_0.order_date, o1_0.status from orders o1_0 join member m1_0 on m1_0.member_id=o1_0.member_id fetch first ? rows only 2023-10-25T21:54:33.449+09:00 INFO 37176 --- [nio-8080-exec-3] p6spy : #1698238473449 | took 0ms | statement | connection 11| url jdbc:h2:tcp://localhost/~/jpashop2 select o1_0.order_id,o1_0.deliver_id,o1_0.member_id,o1_0.order_date,o1_0.status from orders o1_0 join member m1_0 on m1_0.member_id=o1_0.member_id fetch first ? rows only select o1_0.order_id,o1_0.deliver_id,o1_0.member_id,o1_0.order_date,o1_0.status from orders o1_0 join member m1_0 on m1_0.member_id=o1_0.member_id fetch first 1000 rows only; 2023-10-25T21:54:33.450+09:00 DEBUG 37176 --- [nio-8080-exec-3] org.hibernate.SQL : select m1_0.member_id, m1_0.city, m1_0.street, m1_0.zipcode, m1_0.name from member m1_0 where m1_0.member_id=? 2023-10-25T21:54:33.451+09:00 INFO 37176 --- [nio-8080-exec-3] p6spy : #1698238473451 | took 0ms | statement | connection 11| url jdbc:h2:tcp://localhost/~/jpashop2 select m1_0.member_id,m1_0.city,m1_0.street,m1_0.zipcode,m1_0.name from member m1_0 where m1_0.member_id=? select m1_0.member_id,m1_0.city,m1_0.street,m1_0.zipcode,m1_0.name from member m1_0 where m1_0.member_id=1; 2023-10-25T21:54:33.451+09:00 DEBUG 37176 --- [nio-8080-exec-3] org.hibernate.SQL : select d1_0.delivery_id, d1_0.city, d1_0.street, d1_0.zipcode, d1_0.status from delivery d1_0 where d1_0.delivery_id=? 2023-10-25T21:54:33.451+09:00 INFO 37176 --- [nio-8080-exec-3] p6spy : #1698238473451 | took 0ms | statement | connection 11| url jdbc:h2:tcp://localhost/~/jpashop2 select d1_0.delivery_id,d1_0.city,d1_0.street,d1_0.zipcode,d1_0.status from delivery d1_0 where d1_0.delivery_id=? select d1_0.delivery_id,d1_0.city,d1_0.street,d1_0.zipcode,d1_0.status from delivery d1_0 where d1_0.delivery_id=1; 2023-10-25T21:54:33.452+09:00 DEBUG 37176 --- [nio-8080-exec-3] org.hibernate.SQL : select o1_0.order_id, o1_0.deliver_id, o1_0.member_id, o1_0.order_date, o1_0.status from orders o1_0 where o1_0.deliver_id=? 2023-10-25T21:54:33.452+09:00 INFO 37176 --- [nio-8080-exec-3] p6spy : #1698238473452 | took 0ms | statement | connection 11| url jdbc:h2:tcp://localhost/~/jpashop2 select o1_0.order_id,o1_0.deliver_id,o1_0.member_id,o1_0.order_date,o1_0.status from orders o1_0 where o1_0.deliver_id=? select o1_0.order_id,o1_0.deliver_id,o1_0.member_id,o1_0.order_date,o1_0.status from orders o1_0 where o1_0.deliver_id=1; 2023-10-25T21:54:33.453+09:00 DEBUG 37176 --- [nio-8080-exec-3] org.hibernate.SQL : select m1_0.member_id, m1_0.city, m1_0.street, m1_0.zipcode, m1_0.name from member m1_0 where m1_0.member_id=? 2023-10-25T21:54:33.453+09:00 INFO 37176 --- [nio-8080-exec-3] p6spy : #1698238473453 | took 0ms | statement | connection 11| url jdbc:h2:tcp://localhost/~/jpashop2 select m1_0.member_id,m1_0.city,m1_0.street,m1_0.zipcode,m1_0.name from member m1_0 where m1_0.member_id=? select m1_0.member_id,m1_0.city,m1_0.street,m1_0.zipcode,m1_0.name from member m1_0 where m1_0.member_id=2; 2023-10-25T21:54:33.453+09:00 DEBUG 37176 --- [nio-8080-exec-3] org.hibernate.SQL : select d1_0.delivery_id, d1_0.city, d1_0.street, d1_0.zipcode, d1_0.status from delivery d1_0 where d1_0.delivery_id=? 2023-10-25T21:54:33.454+09:00 INFO 37176 --- [nio-8080-exec-3] p6spy : #1698238473454 | took 0ms | statement | connection 11| url jdbc:h2:tcp://localhost/~/jpashop2 select d1_0.delivery_id,d1_0.city,d1_0.street,d1_0.zipcode,d1_0.status from delivery d1_0 where d1_0.delivery_id=? select d1_0.delivery_id,d1_0.city,d1_0.street,d1_0.zipcode,d1_0.status from delivery d1_0 where d1_0.delivery_id=2; 2023-10-25T21:54:33.454+09:00 DEBUG 37176 --- [nio-8080-exec-3] org.hibernate.SQL : select o1_0.order_id, o1_0.deliver_id, o1_0.member_id, o1_0.order_date, o1_0.status from orders o1_0 where o1_0.deliver_id=? 2023-10-25T21:54:33.454+09:00 INFO 37176 --- [nio-8080-exec-3] p6spy : #1698238473454 | took 0ms | statement | connection 11| url jdbc:h2:tcp://localhost/~/jpashop2 select o1_0.order_id,o1_0.deliver_id,o1_0.member_id,o1_0.order_date,o1_0.status from orders o1_0 where o1_0.deliver_id=? select o1_0.order_id,o1_0.deliver_id,o1_0.member_id,o1_0.order_date,o1_0.status from orders o1_0 where o1_0.deliver_id=2; [OrderSimpleApiController] package jpabook.jpashop2.api; import jpabook.jpashop2.Repository.OrderRepository; import jpabook.jpashop2.Repository.OrderSearch; import jpabook.jpashop2.domain.Address; import jpabook.jpashop2.domain.Order; import jpabook.jpashop2.domain.OrderStatus; import lomb ok.Data; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import java.time.LocalDateTime; import java.util .List; import ja va.util.stream.Collectors; /** * X To One (컬렉션 X) * Order * Order -> Member * Order -> Delivery */ @RestController @RequiredArgsConstructor public class OrderSimpleApiController { private final OrderRepository orderRepository; @GetMapping("/api/v1/simple-orders") public List<Order> ordersV1(){ List<Order> all = orderRepository.findAllByString(new OrderSearch()); for (Order order : all) { order.getMember().getName(); // Lazy 강제 초기화 order.getDelivery().getAddress(); // Lazy 강제 초기화 } return all; } @GetMapping("/api/v2/simple-orders") public List<SimpleOrderDto> ordersV2(){ // Order 2개 List<Order> orders = orderRepository.findAllByString(new Order Search()); List<SimpleOrderDto> result = orders.stream() .map(o -> new SimpleOrderDto(o)) // map : a -> b로 치환 .collect(Collectors. toList ()); return result; } @GetMapping("/api/v3/simple-orders") public List<SimpleOrderDto> ordersV3() { List<Order> orders = orderRepository.findAll WithMemberDel ivery(); List<SimpleOrderDto> result = orders.stream() .map(o -> new SimpleOrderDto(o)) .collect(Collectors. toList ()); return result; } @Data static class SimpleOrderDto{ // API 명세서 private Long orderId; private String name; private LocalDateTime orderDate; private OrderStatus orderStatus; private Address address; public SimpleOrderDto(Order order) { orderId = order.getId(); name = order.getMember().getName(); orderDate = order.getOrderDate(); orderStatus = order.getStatus(); address = order.getDelivery().getAddress(); } } } [OrderRepository] ... public List<Order> findAllWithMemberDelivery() { return em.createQuery("select o from Order o" + " join fetch o.member m" + " join fet ch o.deliv ery d", Order.class) .getResultList(); }

  • java
  • spring
  • spring-boot
  • jpa
rr8602 댓글 2 좋아요 0 조회수 655

스프링 사용 중 생기는 오류

미해결

안녕하세요 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로 표시하였는데 혹시 다른 추가적이 방법이 있을까요

  • spring
  • java
  • springboot
박수현 댓글 1 좋아요 0 조회수 889

고급문제풀이set1 3번 문제

미해결

[백문이불여일타] 데이터 분석을 위한 고급 SQL 문제풀이

해당문제 쿼리에 대해 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

  • sql
David Lee 댓글 2 좋아요 0 조회수 269

내용정리 화면은 어디서 볼수있나요?

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

화면에서 보여주시는 내용정리된 노트?는 어디서 볼수있나요?

  • java
  • spring
  • mvc
  • spring-boot
박예슬 댓글 0 좋아요 0 조회수 737

pymysql import 시 찾을 수 없는 모듈이라 나옵니다

미해결

[리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]

pip install 시 설치가 이미 되어있다고 나오는데 import 시에는 찾을 수 없다고 나옵니다...

  • python
  • sql
  • mysql
  • dbms/rdbms
  • 데이터-엔지니어링
꾸해 댓글 2 좋아요 0 조회수 1229

postgres DB 를 다시 설치해야할 것 같은데, 어떻게 진행해야 할까요?

미해결

데이터 분석 SQL Fundamentals

안녕하세요. 실습용 스키마 설치글에 댓글로 postgres DB 다시 설치해야 될 것 같다고 답글을 드렸는데, 못보시는 것 같아 새 글로 작성드립니다. postgres DB 를 다시 설치해야할 것 같습니다. 어떻게 진행해야 할까요?

  • sql
  • postgresql
  • dbms/rdbms
J20 댓글 1 좋아요 0 조회수 481

h2 버그인가요?

해결됨

자바 ORM 표준 JPA 프로그래밍 - 기본편

[질문 템플릿] 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>

  • java
  • jpa
궁금이 댓글 3 좋아요 1 조회수 970

사용자별 월별 세션 접속 횟수의 구간별 분포 집계 SQL - where절

미해결

다양한 사례로 익히는 SQL 데이터 분석

선생님 안녕하세요? 강의 잘 보고 있습니다. 월 말일 기준으로 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

  • sql
  • postgresql
  • dbms/rdbms
  • 퍼포먼스-마케팅
  • 데이터-엔지니어링
jy3578 댓글 1 좋아요 0 조회수 422

제발 설치 좀 도와주세요...

미해결

데이터 분석 SQL Fundamentals

이전에도 설치가 안되서 고생하다가 지인이 관리자 계정으로 접근해서 설치하는 방법을 알려주셔서 겨우 설치를 완료했었습니다. 비전문가이다보니까 기초 강의만 듣고는 강의가 이해가 안되어서 추가로 다른 강의를 더 듣고 다시 강의를 들으러 왔는데, 오랜만에 접속하니 오류창이 뜨면서 안열려서 기존 설치 내역을 모두 지우고 재설치를 시도하고있습니다. 그런데 자꾸 기존 데이터와 호환이 안된다는 식의 알림창이 뜨네요... 너무 듣고싶어요.... 제발 설치 좀 도와주세요 ㅠㅠ

  • sql
  • postgresql
  • dbms/rdbms
이부은 댓글 1 좋아요 0 조회수 430

고급문제풀이 3번 INNERJOIN 활용시 오류

미해결

[백문이불여일타] 데이터 분석을 위한 고급 SQL 문제풀이

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 다음과 같이 작성하였는데 어떤 부분에서 오류가 발생하였는지 한번 확인해주시면 감사드리겠습니다. 모든 조건을 맞게 기입하였다고 생각되는데 계속 오류가 반복해서 뜨네요 ㅜㅜ

  • sql
David Lee 댓글 1 좋아요 0 조회수 285

실습용 스키마 다운로드 및 설치

미해결

데이터 분석 SQL Fundamentals

안녕하세요. 실습용 스키마 다운로드 및 설치를 하려고 하는데, 스키마가 설치가 되지 않아 문의드립니다. 운영체제는 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; 를 실행하니 아래의 스크린 샷과 같은 오류가 나타납니다. 다른 방식으로 실습용 스키마를 설치하거나 저장할 수 없을까요? 도와주세요 ㅜㅜ

  • sql
  • postgresql
  • dbms/rdbms
J20 댓글 1 좋아요 0 조회수 355

순위 함수 cume_dist, percent_rank 질문

미해결

데이터 분석 SQL Fundamentals

실습에서 상품 매출 순위 상위 10%의 상품 및 매출액 구할때 cume_dist함수 대신 percent_rank 사용해도 되나요? 둘이 비슷해서 정확히 어떤 상황에서 두 함수를 구분하여 사용해야하는 지 감이 안 오네요..ㅠㅠ

  • sql
  • postgresql
  • dbms/rdbms
yoonji 댓글 1 좋아요 0 조회수 471

postgres db > 도구 > 복원까지 따라했는데 start 버튼이 비활성화되어있습니다ㅠ

미해결

다양한 사례로 익히는 SQL 데이터 분석

안녕하세요! dbeaver에 postgres backup 파일을 연결시키는 과정에서 똑같이 따라했는데 아래 이미지 처럼 start button이 비활성화 되어서 클릭할 수가 없습니다 ㅠ 환경은 맥 m1 이고 postgres를 말씀해주신 방식이 윈도우같아서 brew 에서 설치했고 'minseo'라는 계정에서 superuser 롤 부여한 상태입니다. 감사합니다

  • sql
  • postgresql
  • dbms/rdbms
  • 데이터-엔지니어링
댓글 3 좋아요 0 조회수 1665

결과창에서 '선택한 행 복사' 안보임

해결됨

MariaDB 클라이언트 개발, HeidiSQL

안녕하세요. HEIDISQL 12.3.0.6589 를 사용하고 있습니다. 결과 값에서 데이터복사하기에 우측 마우스를 클릭하면 '복사하기' 외에 '선택한 행복사' 가 나온다고 되어 있는데요. 저는 해당 메뉴가 안보이는데요. 버전이 달라서 그런걸까요??

  • sql
  • dbms/rdbms
  • mariadb
  • heidisql
  • 데이터-엔지니어링
류재안 댓글 1 좋아요 0 조회수 709

CSV 업데이트 시 NULL값 관련

미해결

MariaDB 클라이언트 개발, HeidiSQL

안녕하세요. HEIDISQL 12.3.0.6589를 사용하고 있고요. CSV 파일 불러오기 강습내용대로, 그리고 AGE가 NULL 허용으로 되어 있고 기본값을 NULL로 해놨으나, CSV가져오기를 하면 경고가 뜨고 데이터를 확인하면 AGE NULL 이어야 하는데 '0'으로 되어있는데요. 그 이유를 모르곘습니다.

  • sql
  • dbms/rdbms
  • mariadb
  • heidisql
  • 데이터-엔지니어링
류재안 댓글 1 좋아요 0 조회수 973

인기 태그

인프런 TOP Writers

주간 인기글