SELECT ROUND(AVG(LAT_N), 4) FROM (SELECT ROW_NUMBER() OVER(ORDER BY LAT_N) row_num , COUNT(*) OVER() n , LAT_N FROM station) sub WHERE CASE WHEN n % 2 = 1 THEN row_num = (n+1)/2 ELSE row_num IN (n/2, (n/2)+1) END Msg 102, Level 15, State 1, Server dbrank-tsql, Line 19 Incorrect syntax near '='. MOD 쓰면 MS SQL Server 에서는 작동 안된다고 하고 윈도우 함수 쓰면 MYSQL에서는 작동 안된다고 하는데 MS SQL Server에서 홀수 구하는 공식을 저렇게 했는데 = 쓰지 말라고 하고 in을 쓰면 in쓰지 말라고 하는데 도대체 어떻게 해야 풀 수 있는 건가요? P.S 새로 고침도 했습니다. 껐다 켰구요. 로그아웃도 하고 다시 실행 했습니다.
SELECT ROUND(AVG(LAT_N), 4) FROM (SELECT LAT_N , ROW_NUMBER() OVER(ORDER BY LAT_N) rank FROM station) sub WHERE CASE WHEN MAX(rank) % 2 =0 THEN rank in ( MAX(rank) / 2, (MAX(rank) / 2) + 1)) ELSE rank = ROUND(MAX(rank) / 2) END ) Msg 156, Level 15, State 1, Server dbrank-tsql, Line 16 Incorrect syntax near the keyword 'in'. 저런 메세지가 출력되는데 어떻게 수정해야 작동할까요? 그리고 MS SQL Server 로 ROUND( something, 4) 를 했는데 "85.87180000" 이런 값을 주는 건가요? 그냥 MYSQL로 하면 안 저래요. 그러나 MYSQL로 하면 윈도우 함수 쓸 수 없어요. 어떻게 하면 좋아요?
SELECT id, age, min_coins, power FROM (SELECT W.id, WP.age, W.coins_needed, W.power , MIN(W.coins_needed) OVER(PARTITION BY age, power ORDER BY coins_needed) min_coins FROM Wands W INNER JOIN Wands_Property WP ON W.code = WP.code WHERE WP.is_evil = 0) sub ORDER BY power DESC, age DESC MIN() OVER(PARTITION BY) 로는 문제 못 푸나요?? 푸는 방법 알려줄 수있나요?? 중복된 power가 많이 나와요 ㅠㅠㅠ
안녕하세요? 강의를 듣다가 궁금한 것이 생겨 질문 드립니다. 자바의 정렬 기본 알고리즘 시간 복잡도와 이진 탐색 시간 복잡도가 nlogn인 건 이해했는데, 코드부를 보면 이중 반복문이 나오고 있습니다. 앞 서 강의에서 반복문을 기준으로 이중 반복문이면 n의2승이라고 말씀하셨는데, 이 중 반복문을 썼는데도 nlogn이 되는 건 반복문이 진행되는 동안 절반씩 찾기 때문인가요?? 만약 이중 반복문으로 시간 복잡도가 올라간다면 이중 반복문을 쓰지 않고, 해결하는 방법을 알려주실 수 있으실까요?
1. interface클래스내에 정의된 메써드는 public abstract이고, 변수는 public static final이 자동으로 앞에 정의가 된다고 하셨는데 이건 고정인건가요? 다른 형태로 봐꿀 수 있나요? 봐꿀 수 없다면 왜 그러한지가 궁금합니다. interface 클래스를 implements해주고 추상클래스를 extends 해주는 것은 둘 다 상속인건가요? 둘다 부모 클래스가 되는건가요?
with temp_01 as ( select d.category_name, to_char ( date_trunc ('month', a.order_date), 'yyyymm') as month_day, sum (amount) as sum_amount, count ( distinct a.order_id) as monthly_ord_cnt from orders a join order_items b on a.order_id = b.order_id join products c on b.product_id = c.product_id join categories d on c.category_id = d.category_id group by d.category_name, to_char ( date_trunc ('month', a.order_date), 'yyyymm') ) select *, sum (sum_amount) over ( partition by month_day order by month_day) as temp1, sum (sum_amount) over ( partition by month_day) as temp2, sum_amount / sum (sum_amount) over ( partition by month_day) as ratio from temp_01 집계 어날리틱 함수는 order by를 사용하면 파티션 내에서 누적합이 되는것으로 알고 있었는데 왜 이렇게 나올까요...? 제가 혹시 놓친게 있는 걸까요
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. select, from, limit 다 완벽하게 작성한 것 같은데 오류가 나서 질문글 찾아보니 limit 뒤에 세미콜론을 안적어서 그렇다는데 저는 적어도 저렇게 나오는데 이유가 뭘까요?
@RunWith(SpringRunner.class) @SpringBootTest public class MemberRepositoryTest { @Autowired MemberRepository memberRepository; @Test @Transactional @Rollback(false) public void testMember() throws Exception { //given Member member = new Member(); member.setUsername("memberA"); //when Long saveId = memberRepository.save(member); Member findMember = memberRepository.find(saveId); //then assertThat(findMember.getId()).isEqualTo(member.getId()); assertThat(findMember.getUsername()).isEqualTo(member.getUsername()); assertThat(member).isEqualTo(findMember); System.out.println("findMember == member: " + (findMember == member)); } } 위 코드에서 디비에 넣은 멤버와 찾은 멤버가 같은지를 비교를 isEqualTo를 사용을 하셨는데 이것은 제가 알기론 value부분만 같다면 true라는것으로 알고 있습니다. 같은 영속성 컨텍스트 안에서의 객체가 같은지 확인하려면 isSameAs가 맞지 않은지 의문이 생겼습니다!