+-+-+ +-+ +-+-+-+-+
|G|O| |4| |H|I|V|E|
+-+-+ +-+ +-+-+-+-+

 --- A GOPHER-LIKE INTERFACE FOR HIVE BLOCKCHAIN ---

[숙제 풀이 과정] [SQL] 비개발자도 스티밋 통계를 뽑을 때까지 - 4편 - 이젠 진짜 통계를 뽑아봅시다.

BY: @siapa0516 | CREATED: Oct. 30, 2017, 5:44 a.m. | VOTES: 13 | PAYOUT: $3.71 | [ VOTE ]

@nhj12311 님께서 SQL 강의를 연재중이십니다.

본 포스팅은 @nhj12311님 께서 내주신 숙제 풀이 과정에 대한 포스팅입니다.

숙제가 들어있는 포스팅은 다음 포스팅입니다.

[SQL] 비개발자도 스티밋 통계를 뽑을 때까지 - 4편 - 이젠 진짜 통계를 뽑아봅시다.

그 중 숙제의 내용은 다음 포스팅의 결과물을 SQL문으로 직접 작성해보라는 것이었습니다.

[통계] 스티밋의 가입자 수 40만 돌파 기념 - 월별 가입자 수 추이와 생각

결과물은 다음과 같이 월별 스팀잇 가입자수의 로우데이터 테이블을 뽑아 내는 것입니다.

[IMAGE: https://steemitimages.com/DQmQrbTBZLMZMMVDnLKf3wt4R5Niz7VPLV7asaYrq38QGFf/DQmQrbTBZLMZMMVDnLKf3wt4R5Niz7VPLV7asaYrq38QGFf.png]

풀이과정

먼저 숙제에서 요구하는 스팀잇 가입 유저의 데이터가 어디에 있는지부터 살펴보려 하지만 일단 막막합니다. nhj12311님께서 친절하시게도 힌트를 주셨습니다.

>힌트 : ACCOUNTS.CREATED(생성일=가입일), LEFT 정말 다 드렸습니다.

힌트를 기반으로 created가 어디에 있는지 찾아봅니다.
[IMAGE: https://steemitimages.com/DQmYQ6wjdaQkPWJ8T8DmvFcg6Hod5yWdbXVU9PSRJBZhf64/data2.png]
구조를 보아하니 어디선가 봤었던 기억이 납니다.

보팅파워를 확인하느라 종종 봤었던 https://steemd.com/@siapa0516 에서 봤었던 구조와 비슷합니다. 이제 대충 account 라는 DB의 하부 카테고리에는 어떤 데이터들이 들어있을지 예상이 됩니다.

[IMAGE: https://steemitimages.com/DQmaSiVwKa4ifFEC6JCeTXpw1KM6yr724du9JPcLWZEsPWz/data.png]

[IMAGE: https://steemitimages.com/DQmb9TKr6q7bHv8UhPHvhc5VwvfZGkTqyXdr9A9866vFN8m/SQL4%ED%8E%B8%20%EC%88%99%EC%A0%9C%201.png]

[IMAGE: https://steemitimages.com/DQmSJUtjc2CAxhMLmhTPpkRgqXgXUHE44i5vxhbG2AEisf3/SQL4%ED%8E%B8%20%EC%88%99%EC%A0%9C%202.png]

[IMAGE: https://steemitimages.com/DQmdueCurw7ov6K8hAnGw9skKfFQNJSfozCZApCk7o6g76b/SQL4%ED%8E%B8%20%EC%88%99%EC%A0%9C%203.png]

[IMAGE: https://steemitimages.com/DQmRhrCUDfTJS37scTM5xtCQq1BrUeuGZKtpKHvPNyJPbhV/SQL4%ED%8E%B8%20%EC%88%99%EC%A0%9C%204.png]

그리고 SQL left 검색을 통해서 사용법을 숙지하고 왼쪽에서 7자리 데이터만 선택하게끔 명령어를 입력해봅니다.
[IMAGE: https://steemitimages.com/DQmNbT4FCZwzYDnrUyVmDsecqESdC5bksh3R8x6ex6vPF1Y/SQL4%ED%8E%B8%20%EC%88%99%EC%A0%9C%205.png]

오잉 근데 결과가 조금 이상합니다. 분명 위의 데이터상으로는 왼쪽에서 7자리 선택하면 YYYY-MM 라는 형식의 결과값이 출력이 되어야 할 것 같은데.. 결과값은 월 일이 출력되고 있습니다.

[IMAGE: https://steemitimages.com/DQmYqevHTMpjZsGaWpQq5oAXgwABMusnRXjL8QVb5fYzNaB/SQL4%ED%8E%B8%20%EC%88%99%EC%A0%9C%206.png]

출력값의 형식이 MM DD YYYY 형식으로 출력됩니다. 숙제가 쉽게 끝나나 했습니다.

[IMAGE: https://steemitimages.com/DQmVegQCPfoBNd1pUejXNpDozZYpASeNE2rpeDdQwsSunPs/SQL4%ED%8E%B8%20%EC%88%99%EC%A0%9C%208.png]

구글에서 sql left date 라고 검색해보았습니다.

역시나 구글신님은 모르는게 없습니다. 비슷한 경험을 했던 사람들이 많았었 던 것인지 검색결과가 마구 쏟아집니다.

저는 그중에서 아래의 글에서 문제를 해결할 답을 찾았습니다.
https://stackoverflow.com/questions/889629/how-to-get-a-date-in-yyyy-mm-dd-format-from-a-tsql-datetime-field

[IMAGE: https://steemitimages.com/DQmT5DUDYshwMUjGXdwPtF4sVSkxsYjRYjxQRkUdcnagca5/SQL4%ED%8E%B8%20%EC%88%99%EC%A0%9C%208-1.png]

[IMAGE: https://steemitimages.com/DQmeZGtG6zFBVDnJgcyYYXgjxtuDUfu9Uv9jMnPcELjk7gw/SQL4%ED%8E%B8%20%EC%88%99%EC%A0%9C%208-2.png]

일단 위의 형식에 맞춰 명령문을 작성해봅니다.
[IMAGE: https://steemitimages.com/DQmX3MZbCMFY2nKcy432HH93YXJRLNdsX5oDGkqowXKvVbC/SQL4%ED%8E%B8%20%EC%88%99%EC%A0%9C%209.png]

오 결과값이 일단 원하는 형식대로 출력됨을 확인 할 수 있습니다.

[IMAGE: https://steemitimages.com/DQmZpfGFRBdSKqtuzxGrTomg9Tz9U4moVS6ST9BkuLXKj5w/SQL4%ED%8E%B8%20%EC%88%99%EC%A0%9C%2010.png]

[IMAGE: https://steemitimages.com/DQmPJeKYHtqpyCC7CkWTLgpjAWi9C7zrb8ce1gothUSHwQ7/SQL4%ED%8E%B8%20%EC%88%99%EC%A0%9C%2011.png]

[IMAGE: https://steemitimages.com/DQmUVKMfhfuuectMzF7ctWLNiyL6RCud7iT1pKkwTMTXuZx/SQL4%ED%8E%B8%20%EC%88%99%EC%A0%9C%2012.png]

[IMAGE: https://steemitimages.com/DQmSDZfCgEGCe13Pe3gUgXouLwXXCAEoz5bi29S8vxAP6Jb/SQL4%ED%8E%B8%20%EC%88%99%EC%A0%9C%2014.png]

[IMAGE: https://steemitimages.com/DQmNPBEk2ren5uitnUPXodczTT3oTPvSmpVSprHgcZHkdcz/SQL4%ED%8E%B8%20%EC%88%99%EC%A0%9C%2015.png]

[IMAGE: https://steemitimages.com/DQmaLXTiibUVxg4GhEjzZJqw9edop8XcZ6ibUv5AU5ZpJ9J/SQL4%ED%8E%B8%20%EC%88%99%EC%A0%9C%2016.png]

[IMAGE: https://steemitimages.com/DQmVAs9NZyPetPTiTKvcP9ztzhBfpKj9MXX3KhQmCjnnzjH/SQL4%ED%8E%B8%20%EC%88%99%EC%A0%9C%2017.png]

[IMAGE: https://steemitimages.com/DQmasHJ5KKUNFspCQHEhxyyXXneXU9N5Ah3DRjtbcSb8aqE/SQL4%ED%8E%B8%20%EC%88%99%EC%A0%9C%2018.png]

[IMAGE: https://steemitimages.com/DQmT1TEc1xo9qWc8wgaiKKXSdJKHYPmpfuHJmn2wzgrCcq6/SQL4%ED%8E%B8%20%EC%88%99%EC%A0%9C%2019.png]

[IMAGE: https://steemitimages.com/DQmSFvwUP9jnHTC2TwTofzGricctVy1Lv6FEWQ3ZwSeeJ3H/SQL4%ED%8E%B8%20%EC%88%99%EC%A0%9C%2020.png]

[IMAGE: https://steemitimages.com/DQmbV7r7whFmEczECc9k32NFHEPRra412mfvKVHz8PrNpL1/SQL4%ED%8E%B8%20%EC%88%99%EC%A0%9C%2021.png]

[IMAGE: https://steemitimages.com/DQmafXeh1NcbJJahvWzBkiaKvfKwuRrHqAjPEQPXChPy5yM/SQL4%ED%8E%B8%20%EC%88%99%EC%A0%9C%2022.png]

숙제 끝 입니다!

TAGS: [ #kr-homework ]

Replies

@nhj12311 | Oct. 30, 2017, 6:13 a.m. | Votes: 1 | [ VOTE ]

훌륭하십니다. varchar로 7글자만 변환하여 끌어오시다니 left함수로 자르는것보다 더 간단명료합니다! 잘봤습니다.

저같은 경우도 디비별로 수많은 함수 사용법을 외우는게 아니라 구글신님께 빌어해결하고 있습죠.

물론 자주 쓰면 손가락이 기억해버리지만요 ㅎㅎ
그뤠잇!👍👍👍

@siapa0516 | Oct. 30, 2017, 4:46 p.m. | Votes: 0 | [ VOTE ]

의도한게 아니라 숙제하고 나니 left가 없어졌다는걸 깨달았네요 ㅎㅎ; @nhj12311님 덕분에 즐겁게 SQL 배우는 중입니다 ㅎㅎ

@hooo | Oct. 30, 2017, 8:30 a.m. | Votes: 1 | [ VOTE ]

잘 보았습니다
좋은 시간되세요

@siapa0516 | Nov. 2, 2017, 7:35 a.m. | Votes: 0 | [ VOTE ]

감사합니다! ㅎㅎ

@hygge | Oct. 30, 2017, 11:13 a.m. | Votes: 2 | [ VOTE ]

지식이 짧아서 이해는 못하지만.....엄청 공들인 글같네요.덕분에 잘보고 갑니다.

@siapa0516 | Oct. 30, 2017, 5:06 p.m. | Votes: 0 | [ VOTE ]

쉽게 쉽게 설명 해주신 @nhj12311 님의 포스팅을 약간의 시간을 내어 정독하시면 이해하실 수 있습니다!

@girina79 | Oct. 30, 2017, 3:18 p.m. | Votes: 1 | [ VOTE ]

와..대단하십니다...ㄷㄷㄷㄷ

@siapa0516 | Nov. 2, 2017, 7:38 a.m. | Votes: 0 | [ VOTE ]

쉽게 설명해주시는 선생님이 대단하신것 같습니다! ㅎㅎ 감사합니다!

@jaywon | Oct. 31, 2017, 1:35 a.m. | Votes: 1 | [ VOTE ]

오 ㅎㅎㅎㅎ @nhj12311 님의 쉬운설명과 @siapa051650 님의 노력으로 해내셨군요!!

@siapa0516 | Nov. 2, 2017, 7:40 a.m. | Votes: 0 | [ VOTE ]

아 ㅎㅎ 맞는 표현 같습니다. 감사합니다! ㅎㅎ

@centering | Oct. 31, 2017, 4:42 p.m. | Votes: 1 | [ VOTE ]

오 자유 자제로 sql 문을 다루시는 모습이 멋지시네요 ~~ 가끔 만질일이 있을 때마다 열심히 검색하고 헤메는 저의 모습을 잠시 떠올려 봅니다. 저도 호기심 나는게 있을 때 만지작만지작 해봐야 겠네요

@siapa0516 | Nov. 1, 2017, 3:02 p.m. | Votes: 0 | [ VOTE ]

전 스팀잇 시작하고 처음 만져봤네요. 업무에서도 사용할 일이 있으면 좀 더 익히기 쉬울텐데 아쉬움이 있네요 ㅎㅎ

@jaytop | Nov. 2, 2017, 3:02 a.m. | Votes: 1 | [ VOTE ]

와!! 비개발자 맞으시나요?
코딩 이렇게 잘하시는거 있기?없기?ㅎㅎㅎ

@siapa0516 | Nov. 2, 2017, 7:42 a.m. | Votes: 0 | [ VOTE ]

@nhj12311 님의 쉽게 설명해주셔서 조금은 수월하게 배우고 있습니다!!

@louispark | Nov. 2, 2017, 6:16 a.m. | Votes: 1 | [ VOTE ]

와우 .. 전 아직 못 따라 갔는데 대단하십니다 ㅎㅎ

@siapa0516 | Nov. 2, 2017, 7:46 a.m. | Votes: 0 | [ VOTE ]

ㅎㅎ 일단 한번 시작해보세요! 언젠가 써먹을 일 한번은 있겠거니 생각하네요 ㅎㅎ

[ BACK TO TRENDING ] [ BACK TO MENU ]
CMD>