๐์คํ ๋ฐ์ดํฐ๋ฅผ ๋ฝ์๋ณด์
๐SQL๋ฌธ์ด ๋ญ์ง ์์๋ณด์
SQL๊ณผ SQL DB
์์ ๋งํฌ์์๋ ์ค๋ช
ํด๋จ์ง๋ง
SQL์ ํ๋ก๊ทธ๋๋ฐ์ผ๋ก ์ง๋ฌธํ๋ ๊ฒ์ ์ฌ๋๋
์๊ธฐ ์ฝ๋๋ก ๋ง๋ ์ธ์ด์
๋๋ค
SELECT WHERE ์ด๋ฐ์์ผ๋ก ๋ฑ ๋ณด๋ฉด ์ ์ ์๋ ๋จ์ด๋ค์
์ฌ์ฉํ์ง์
๊ทธ๋ผ ๋๊ตฌํํ
์ง๋ฌธํ ๊น์
์ด๊ฑด ๋ฐ์ดํฐ๋ฒ ์ด์ค(DB)๋ผ๊ณ ๋๊ตฐ๊ฐ ์ ๋ฆฌํด๋ ์ ๋ณด์ฐฝ๊ณ ๊ฐ
์์ด์ผ๋ง ๊ฑฐ๊ธฐ์ ์ง๋ฌธํ ์ ์์ต๋๋ค
๊ทธ๋ฐ๋ฐ ๊ทธ๊ฑธ ์คํ์ ์ฆ์ธ์ค ํ๋ช
()์ด ๋ธ๋ก์ฒด์ธ์์
๋ฐ์ดํฐ๋ฅผ ๋ฝ์์ ์ฐฝ๊ณ ์ ์ ๋ฆฌํด๋ ๊ฒ์
๋๋ค
๊ทธ๋์ ์ฐ๋ฆฌ๋ ๋จ์ํ SQL ํ๋ก๊ทธ๋จ๊ณผ ์ง๋ฌธ๋ง ์ค๋นํ๋ฉด
๋๋ ๊ฒ์
๋๋ค.
๊ทธ์ค์์ SQL ํ๋ก๊ทธ๋จ์ ์ง๋ฌธ์ ์ฝ๊ฒ ํ๋๋ก
๋์์ฃผ๋ ํ๋ก๊ทธ๋จ์
๋๋ค.
์์
์ ์ฌ์ค ์ฌ๋ฌด์ฉ ๋ฌธ์ํธ์งํ๋ก๊ทธ๋จ์ด์ง
์ง๋ฌธ ํ๋ก๊ทธ๋จ์ด ์๋์ฃ
๊ทธ๋์ ์ด๋ฒ ํฌ์คํ
์ ํ๋ฒ๋ง ์ค์ ํด๋์ผ๋ฉด
๊ทธ ํ์ ์ง๋ฌธ๋ค์ ๊ฐํธํ๊ฒ ๋ ๋ฆด ์ ์๋
์ ์ฉํ๋ก๊ทธ๋จ์ ์ค๋ช
ํด๋ณด๊ฒ ์ต๋๋ค
SQL ํ๋ก๊ทธ๋จ ์ฌ์ฉ๋ฒ
https://www.heidisql.com/download.php
์ฌ๊ธฐ์ ํ๋ ๋ฐ์๋ด
๋๋ค
์ค์น๋ฒ์ ์ด๋ ํฌํฐ๋ธ(๋ฌด์ค์น) ๋ฒ์ ์ ์ ๊ณตํ๋๋ฐ
ํธํ๊ฑธ๋ก ์ ํํด์ ์ฌ์ฉํฉ์๋ค
๊ทธ๋ฆฌ๊ณ ํ๋ก๊ทธ๋จ์ ๊ธฐ๋ํด๋ณด๋ฉด ์ด๋ ๊ฒ ๋์ต๋๋ค
์ฌ๊ธฐ์ ์ ๊ท๋ฅผ ํด๋ฆญํฉ๋๋ค
๊ทธ๋ผ ์๋ ๊ฒ ๋จ๋๋ฐ
์ ํ์ ๋ง์ SQL Server (TCP/IP) ์ผ๋ก ํ๊ณ
ํธ์คํธ๋ช : sql.steemsql.com
์ฌ์ฉ์ : steemit
์ํธ : steemit
๋ฅผ ์
๋ ฅํ ํ ์ด๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค
๊ทธ๋ผ ์ ์ฅ ์ด์ฉ๊ตฌ ๋จ๋๋ฐ ์ ์ฅํฉ๋๋ค
์ด๋ ๊ฒ ์ ์ฅํด๋์ผ๋ฉด
์์ผ๋ก ์ ์ ๋ณด์ฐฝ๊ณ ์ ์ ์ํ๊ธฐ ์ํด
์ด๋ฐ ์์
์ ์ํด๋ ๋ฉ๋๋ค +_+
๊ทธํ ์๋ ๊ฒ ๋จ๋๋ฐ
์ฟผ๋ฆฌ(์ง๋ฌธ) ํญ์ ํด๋ฆญํฉ๋๋ค
๊ทธ๋ค์ ๊ฑฐ๊ธฐ์ SQL ๋ช
๋ น์ด
์ฆ, ์ง๋ฌธ์ ๋ฃ์ต๋๋ค
์๋ฅผ๋ค๋ฉด ์ด๋ฐ๊ฑฐ ๋ง์ด์ฃ
SELECT
author,
COUNT(*) AS vote
FROM
TxVotes(NOLOCK)
WHERE
voter = '์์ด๋' and
timestamp > DATEADD(day, -1, GETDATE())
GROUP BY
author
ORDER BY
COUNT(*) DESC
๊ทธ๋ฅ ๋ถ์ฌ๋ฃ์ผ๋ฉด ๋ฉ๋๋ค
์๋ถ์ ์ผ๋ก ๊ณ ์น ๋ด์ฉ์
voter = '์์ด๋' and
timestamp > DATEADD(day, -1, GETDATE())
์์ '์์ด๋'๋ -1 ์ซ์๋ฟ์
๋๋ค
์์ด๋๋ ์ ๋ณด๋ฅผ ๋ณด๊ณ ์ถ์ ์์ด๋
-1์ ํ๋ฃจ์ ๋ถํฐ ์ง๊ธ๊น์ง์ ๋ฐ์ดํฐ๋ฅผ ์๋ฏธํ์ฃ
-2 ๋ฃ์ผ๋ฉด ์ดํ์ ๋ถํฐ์
๋๋ค
๊ทธ๋ฆฌ๊ณ ์์ ํ๋ ์ด ๋ฒํผ์ ๋๋ฅด๋ฉด
๋ฐ๋ก ์๋์ ์๋ฃ๊ฐ ๋์ต๋๋ค
์์ ์ง๋ฌธ๋ด์ฉ์ ํ๋ฃจ๋์ ํน์ ์์ด๋๊ฐ
๋ณดํ
ํ ๊ธ์ด์ด๋ค์ ๋ณด์ฌ์ฃผ๋ ๊ฒ์
๋๋ค
ํ๋ฅผ ๋ณด์๋ฉด ๊ฐ ๊ธ์ด์ด๋ค์ด ์ธ๋ก๋ก ์ซ ์ ๋ฆฌ๋์ด์์ฃ
2x64 ๋ ํ์ ๊ฐ๋ก์ธ๋ก๋ฅผ ๋ปํฉ๋๋ค
์ธ๋ก๊ฐ 64๋ 64๋ช
์ด๊ฒ ์ฃ ?
์ฆ ํ๋ฃจ๋์ 64๋ช ํํ ํฌํํ๋ค๋ ์ ๋ณด๋ฅผ ๋ฐ์๊ฒ๋๋ค
๋ด์ผ๋ ์ด ์ ๋ณด๋ฅผ ๋ณด๊ณ ์ถ์ผ๋ฉด
์์ ๊ฒ์ ๋ณต์ฌํด์ ๋ถ์ฌ๋ฃ์ผ๋ฉด ๋๊ฒ ์ง๋ง
์ด๊ฑฐ ๊ท์ฐฎ์ฃ
๊ทธ๋์ ๊ทธ๋ฐ ๊ท์ฐจ๋์คํธ๋ฅผ ์ํ ํธ๋ฆฌํ ์ฅ์น๊ฐ ์์ต๋๋ค
์ค๋ํซ์ด๋ผ๋ ๊ฒ์ผ๋ก.. ์์ ์กฐ๊ฐ์ด๋ ์๋ฏธ๊ฐ ์์ต๋๋ค
๊ฑ ๋ฉ๋ชจ๋ผ๊ณ ์๊ฐํฉ์๋ค
์๋ ๊ฒ ํ์ผ>์ค๋ํซ์ผ๋ก ์ ์ฅ
์ฐฝ์ ๋์ฐ๊ณ ์๊ธฐ ์ฌ์ด ์ด๋ฆ์ ์ ํด์ ์ ์ฅํฉ๋๋ค
๊ทธ๋ฆฌ๊ณ ์ง๋ฌธ์ฐฝ์ ๊ฐ์ ์ค๋ฅธ์ชฝ์ ์ค๋ํซ ํด๋๋ฅผ ์ด๋ฉด
์์ ์ด ์ ์ฅํ ์ค๋ํซ์ด ์์ต๋๋ค
๋๋ธํด๋ฆญํ๋ฉด ์์ ์ ์ ์ฅํ ์ค๋ํซ์ด ๊ณ ๋๋ก
์ฐฝ์ ๋ถ์ฌ์ง๋๋ค
์ง๊ธ๊น์ง ์๊ณ ํ์
จ์ต๋๋ค
์ด์ ๋ ์๋กํ ๋ ์ ๋ฐ ์์
์ ํ ํ์๊ฐ ์์ด์ก์ต๋๋ค
ํ๋ก๊ทธ๋จ์ ์คํํ๊ณ
์ด์ ์ ์ ์ฅํ ์ ๋ณด์ฐฝ๊ณ ๋ฅผ ์ฝ๋๋ค
๊ทธ๋ฆฌ๊ณ
๊ณง๋ฐ๋ก ์ง๋ฌธ์ฐฝ์ผ๋ก ๊ฐ์
์ค๋ํซ์ ์ ์ฅํด๋ ๊ฒ ์ค ์ํ๋ ์ง๋ฌธ์ ๋๋ธํด๋ฆญํด์
์ง๋ฌธ์ ๋ณด๋ด๊ธฐ๋ง ํ๋ฉด ๋ต์ด ๋์ค๋ ๊ฒ๋๋ค
๊ทธ๋ผ ์ง๋ฌธ๋ค์ ์ด๋ป๊ฒ ํ ๊น์?
์ค์ค๋ก ๊ณต๋ถํด๋ ์ข๊ฒ ์ง๋ง
๊ฐ๋ณต์น ๋ค ์ฃฝ๋ ๊ผด์ ๋ชป๋ณด๋
์ผ๋จ ์ฌ์ด ๊ฒ๋ค์ ์ ๊ฐ ์๋์ ์๋ ค๋๋ฆฌ๊ฒ ์ต๋๋ค
ํ๋ฃจ๋์ ํน์ ํ๊ทธ์ ์ฌ๋ผ์จ ๊ธ ์
ํ๋ฃจ๋์ kr ํ๊ทธ์ ์ฌ๋ผ์จ ๊ธ ์
SELECT
COUNT(*)
FROM
TxComments
WHERE
timestamp >= DATEADD(day, -1, GETDATE())
AND title <> ''
AND LEFT(body,2) <> '@@'
and json_metadata LIKE '%ํน์ ํ๊ทธ%'
์ ๊ธฐ์ ๋ง์ง๋ง๋ถ๋ถ์ %ํน์ ํ๊ทธ%
๋ฅผ %kr%๋ก ๋ฐ๊ฟ ๋ณด๊ฒ ์ต๋๋ค
2309 ๊ฐ๊ฐ ์ฌ๋ผ์๊ตฐ์
and json_metadata LIKE '%kr%'
์์ kr์ kr-newbie๋ก ๋ฐ๊พธ๋ 336๊ฐ๊ฐ ๋ด์ต๋๋ค
์ํ์๋ ํ๊ทธ๋ก ๋ฐ๊ฟ๋ณด์ธ์
ํ๋ฃจ๋์ ๋๊ตฌ์๊ฒ ๋ช%๋ก ํฌํํ๋๊ฐ
SELECT
author,
SUM(weight) AS weights
FROM
TxVotes(NOLOCK)
WHERE
voter = '์์ด๋' and
timestamp > DATEADD(day, -1, GETDATE())
GROUP BY
author
ORDER BY
SUM(weight) DESC
ํ๋ฃจ๋์ ์ผ๋ง๋งํผ์ ํ์๋ก ๋๊ตฌํํ
ํฌํํ๋์ง
์ ์ ์์ต๋๋ค
๋ฌผ๋ก ํ์ ์ธ๋ก์๋ ํ๋ฃจ๋์ ์์ ์ด ํฌํํ ์์
๋๋ค