안녕하세요 카일님! 좋은 강의 너무 감사드립니다 :) 조건문 연습문제를 혼자 풀고 카일님이 작성하신 쿼리와 비교해보았는데 저와는 다르게 서브쿼리 없이 작성하셨더라고요! 결과는 잘 나오지만 서브쿼리를 사용하면 효율성이 떨어지는 쿼리일까요? 현업에서는 어떤 쿼리를 선호할까요? ('Old' 로 분류되는 결과도 얻고 싶어서 기준 날짜를 바꿨습니다.)
카일스쿨님 좋은 강의 감사드립니다! EXTRACT함수 예시 쿼리를 실행하니까 위와 같이 오류가 나서 여쭤봅니다. gpt한테 물어보니 AS DATETIME을 쓰지 말라고 하던데, 문법 자체가 바뀐 걸까요? 또한, 예시 쿼리 만드실 때 date, year 뽑는 쿼리에는 AS DATETIME을 안 쓰셨는데, month, day, hour, minute에는 쓰셨던 이유도 궁금합니다!
안녕하십니까 선생님, JOIN을 할때 조건들을 처리해놓고 조인을 하시라고 하셨는데 영상에 나온 답과 같지만 풀이법이 달라서 아래와 같이 작성해도 큰 문제가 없겠죠? select type1, count(p.type1) as grass_cnt from ( select trainer_id, pokemon_id from basic.trainer_pokemon where 1=1 and status != 'Released' ) as tp left join basic.pokemon as p on tp.pokemon_id = p.id where 1=1 and p.type1 = 'Grass' group by type1
질문이 있는 경우 다음과 같이 시도해보고 공유해주세요 구글에 검색한 후, 어떤 결과가 나왔는지 그 결과를 토대로 어떤 시도를 했는지? 시도에서 어떤 과정이 진행되지 않았는지 데이터를 추출하는 과정에 대한 고민은 Input / Output을 작성해주세요 계속 오류가 나와요 ㅠㅠ
질문이 있는 경우 다음과 같이 시도해보고 공유해주세요 구글에 검색한 후, 어떤 결과가 나왔는지 그 결과를 토대로 어떤 시도를 했는지? 시도에서 어떤 과정이 진행되지 않았는지 데이터를 추출하는 과정에 대한 고민은 Input / Output을 작성해주세요 안녕하세요, 구글클라우드에 테이블 생성시 오류가 발생되고있는데 어떻게 해야할까요..?
안녕하세요! 포켓몬을 제일 많이 풀어준 트레이너는 누구일까요? select trainer_id, count(status) from basic.trainer_pokemon where status = "Released" group by trainer_id order by count(status) desc limit 1 이렇게 select에서 count(status) 써도 되나요...? 포켓몬을 많이 풀어줬다 --> status가 released 많이 했다 이렇게 받아들였어요
안녕하세요! 단일(하나의 타입만 있는) 타입 포켓몬 중 많은 type1은 무엇일까요? select type1, count(type1) from basic.pokemon where type1 is not null and type2 is null group by type1 order by count(type1) desc limit 10 단일 타입만 있다고 하니까 type1 is not null 도 조건에 걸어야 하지 않나요? 그냥 type2 is null 만 하면 type1도 null 이고 type2 도 null 인 값이 나올 수 있잖아요! count(id)가 null 값은 안 세서 괜찮은 건가요..? 정확하게 하고 싶으면 where type1 is not null and type2 is null 이렇게 표현해도 될까요?
안녕하세요~ 강의안 p.165에 포켓몬의 수를 타입 별로 집계하고, 포켓몬의 수가 10 이상인 타입만 남기는 쿼리를 작성해주세요. 포켓몬의 수가 많은 순으로 정렬해주세요. select type1, count(id) desc from basic.pokemon group by type1 having count(id)>=10 이렇게 order by count(id) desc 안 쓰고 select 문에 desc 써도 되나요?
안녕하세요, 카일님. 강의 잘 듣고 있습니다! 다름이 아니라 연습 문제를 풀던 중 궁금한 점이 생겨 문의 남깁니다. 4-5. 시간 데이터 연습 문제 4번을 푸는 과정에서 제가 작성한 쿼리문은 아래와 같으며, 쿼리 결과는 답안과 동일하다는 것을 확인했습니다. 그러나 결과만 같고 허점이 있는 쿼리문인지 판단이 안 되어서 이렇게 쿼리문을 작성해도 괜찮은지, 서브 쿼리를 활용하는 게 필수라면 왜 그런지 여쭤보려고 질문 드립니다! 질문 확인해주셔서 감사드리며 답변 기다리겠습니다 :) SELECT COUNT(DISTINCT id) AS battle_cnt, EXTRACT(DAYOFWEEK FROM battle_datetime) AS day_of_week, FROM basic.battle GROUP BY day_of_week ORDER BY day_of_week ASC
안녕하세요, 빅쿼리 활용편 강의 수강 중입니다. 디스코드 접속 시 초대 수락이 불가해서 확인 부탁드리겠습니다. 어떤 강의를 들으면서 발생했나요? 빅쿼리 활용편 어떤 문제가 생겼나요? 첨부파일 내 링크를 통해 접속 후 초대 수락하기 클릭 시 불가하다는 메세지가 나옵니다 환경이 어떻게 되나요? 맥 m1 사용중입니다
안녕하세요. 선생님, 총 정리 문제 풀이 4번을 강의를 보면서 쿼리를 따라 작성해봤는데 결과가 pokemon_cnt: 1, avg_level: 42.0으로 다르게 나오네요.. 몇 번을 다시 새로 써도 똑같은 결과가 나옵니다 ㅠㅠ WITH winner_cnts AS ( SELECT winner_id, COUNT(winner_id) AS win_cnt FROM basic.battle WHERE winner_id IS NOT NULL GROUP BY winner_id ), top_winner AS ( SELECT wc.winner_id AS trainer_id, wc.win_cnt, t.name AS trainer_name FROM winner_cnts AS wc LEFT JOIN basic.trainer AS t ON wc.winner_id = t.id ORDER BY wc.win_cnt DESC LIMIT 1 ) SELECT tw.trainer_id, tw.trainer_name, tw.win_cnt, COUNT(tp.pokemon_id) AS pokemon_cnt, ROUND(AVG(tp.level),2) AS avg_level FROM top_winner AS tw LEFT JOIN basic.trainer_pokemon AS tp ON tw.trainer_id = tp.id WHERE tp.status IN("Active", "Training") GROUP BY tw.trainer_id, tw.trainer_name, tw.win_cnt
안녕하세요. 선생님, 2번 문제에 질문있습니다. 2. 각 포켓몬 타입1을 기준으로 가장 많이 포획된(방출 여부 상관없음) 포켓몬의 타입1, 포켓몬의 이름과 포획 횟수를 출력해주세요. 위 문제에서 만약에 방출 여부를 판단하고 풀어본다면 어떻게 나오는지 궁금해서 풀이를 해보았습니다. 아래 쿼리대로 풀면 될까요? WITH result AS ( SELECT pokemon_id, status, SUM(CASE WHEN status IN('Active', 'Training') THEN 1 ELSE 0 END) AS status_pokemon_cnt FROM basic.trainer_pokemon GROUP BY pokemon_id, status ORDER BY status_pokemon_cnt DESC ) SELECT type1, kor_name, status_pokemon_cnt FROM result LEFT JOIN basic.pokemon AS p ON result.pokemon_id = p.id LIMIT 1
안녕하세요. 선생님 2번 풀이에서 저는 pokemon을 FROM 절에 쓰고, LEFT 함수로 trainer_pokemon을 썼는데요. 선생님과 결과가 다르게 나오더라구요. 이 경우에는 "가장 많이 포획된" 기준으로 물었기 때문에 status가 있는 trainer_pokemon을 FROM 절에 써야하는 건가요?? SELECT type1, kor_name, COUNT(tp.id) AS pokemon_cnt FROM basic.pokemon AS p LEFT JOIN basic.trainer_pokemon AS tp ON p.id = tp.pokemon_id GROUP BY type1, kor_name ORDER BY pokemon_cnt DESC
선생님, 안녕하세요. 강의 잘 듣고 있습니다! 다름이 아니라 3번 문제에서 trainer를 LEFT에 두시고 계산하셨는데, 저는 trainer_pokemon을 LEFT에 두고 계산했더니 오류가 뜹니다. SELECT COUNT(DISTINCT tp.trainer_id) AS trainer_cnt FROM basic.trainer_pokemon AS tp LEFT JOIN basic.trainer AS t ON tp.location = t.hometown WHERE tp.location = t.hometown 그렇다고, COUNT에 DISTINCT를 없애니 결과값이 3003개로 나옵니다.