게시글
질문&답변
17번 문제 질문드립니다.
와; 늦은시간에 빠른답변 감사드립니다.id 같은 고유값을 같이 넣어주시면 더 좋아요 한가지 더 여쭈어보고 싶은게 있습니다.카일님이 작성해주신 코드와 동일코드로 결과를 돌렸을 때 결과 비교입니다.(제가 작성한 코드)SELECT trainer_id, COUNTIF(status LIKE 'Released') AS released_cnt, COUNT(pokemon_id) AS pokemon_cnt, COUNTIF(status LIKE 'Released') / COUNT(pokemon_id) AS released_ratio FROM basic.trainer_pokemon GROUP BY trainer_id HAVING released_ratio >= 0.2(카일님이 작성해주신 코드)(사진) 아래 사진은 카일님 동영상에 보인 결과입니다.(사진) 하지만 제 결과와 카일님 결과와의 차이점은, ORDER BY도 안했는데 행의 순서가 다르다는 것입니다.첫행의 trainer_id의 9가 하단으로 내려가있고, 나머지 값들의 순서는 88, 8,4, 64, 66.. 로 같다가 뒤에 또 순서가 달라집니다.(아래 사진은 제 결과입니다.)(사진)전체 행 갯수도 26개로 맞고, 우연히 행 갯수만 맞은 걸까봐 영상속 결과와 제 결과 또한 비교했으나 같았습니다.(사진)ORDER BY도 안했고, 왜 같은 코드를 돌렸는데 테이블 내 행 순서가 다르게 나오는 이유가 궁금합니다!
- 0
- 3
- 107
질문&답변
17번 문제 질문드립니다.
안녕하세요. 작성자 입니다.SELECT trainer_id, pokemon_id, status FROM basic.trainer_pokemon WHERE trainer_id = 17위 코드로 돌리니 아래와 같이 정상적으로 나오는 것을 확인했습니다.(사진)GROUP BY 로 묶이는 변수들끼리의 중복을 제외해서 발생한 문제 인 것 같은데 맞을까요?이렇게 groupby 문으로 카운트 검증을 할때, groupby를 제외한 변수들로 결과를 가늠해보는 방법 밖에 없을까요? 질문드립니다!
- 0
- 3
- 107