๊ฐ์ค ์๋ฆฝ ๋จ๊ณ์์ ํ์ฉํ๊ธฐ ์ข์ ์๋ฃ
→ ์์ธ์ฐ๊ตฌ๋ฐ์ดํฐ ์๋น์ค์ ๋ฐ๋ฅด๋ฉด, ๊ฐ๋จ๊ตฌ๊ฐ ์ ์ ํต๊ทผ์๊ฐ ๊ฐ์ฅ ๋ง์. (๊ด์ญ์ํ๊ถ ๊ฐ๊ตฌ ํํฉ๊ณผ ํน์ฑ | ์์ธ์ฐ๊ตฌ๋ฐ์ดํฐ์๋น์ค)
→ ๋ถ๋์ฐ ์ค๊ฐ ํ๋ซํผ ๋ค๋ฐฉ์ (์ ํ : ์คํผ์คํ , ์ํํธ / ์ ์ธ/ ๋ณด์ฆ๊ธ 2์ต/ 7ํ์ด์) ๋งค๋ฌผ ๊ฒ์ ๊ฒฐ๊ณผ ์ ์ฌ์ง๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ ๋์ถ. (๊ด์ ๊ตฌ์ ๋งค๋ฌผ์ด ๊ฐ์ฅ ๋ง์ ๊ฒ์ด๋ค.)
๐ ๋ฐ์ดํฐ ์๊ฐํ
๊ฑด๋ฌผ ์ฉ๋ ๋ณ ๋งค๋ฌผ ์
๋๋ณด๊ธฐ
๐ฃ code
SELECT *,
์คํผ์คํ
+ ์ฐ๋ฆฝ๋ค์ธ๋ + ์ํํธ tot
FROM (
SELECT ์์น๊ตฌ๋ช
,
max(if(๊ฑด๋ฌผ์ฉ๋ = "์คํผ์คํ
", ๋งค๋ฌผ์, NULL)) "์คํผ์คํ
",
max(if(๊ฑด๋ฌผ์ฉ๋ = "์ฐ๋ฆฝ๋ค์ธ๋", ๋งค๋ฌผ์, NULL)) "์ฐ๋ฆฝ๋ค์ธ๋",
max(if(๊ฑด๋ฌผ์ฉ๋ = "์ํํธ", ๋งค๋ฌผ์ , NULL)) "์ํํธ"
FROM (SELECT ์์น๊ตฌ๋ช
, ๊ฑด๋ฌผ์ฉ๋, COUNT(*) ๋งค๋ฌผ์
FROM Rent_2022
WHERE ์ ์์ธ๊ตฌ๋ถ = "์ ์ธ"
AND ์์น๊ตฌ๋ช
in ('๋๋๋ฌธ๊ตฌ', '๊ด์ง๊ตฌ', '์กํ๊ตฌ', '์์ด๊ตฌ', '์ฉ์ฐ๊ตฌ', '์ค๊ตฌ', '์ฑ๋๊ตฌ', '๊ฐ๋จ๊ตฌ', '๊ด์
๊ตฌ')
AND ์ธต >=3 AND ์๋๋ฉด์ >= 24 AND `๋ณด์ฆ๊ธ(๋ง์)` <= 20000
AND (์ ์๋
๋ - ๊ฑด์ถ๋
๋) < 10
GROUP BY 1, 2)t
GROUP BY 1)t2
ORDER BY 5 DESC
- ์ ์ฒด ๋งค๋ฌผ์๊ฐ ๊ฐ์ฅ ๋ง์ ์ง์ญ์ ๊ฐ๋จ๊ตฌ(339)๋ก ์ํํธ(130)์ ์คํผ์คํ (192) ๋งค๋ฌผ๋ ๊ฐ์ฅ ๋ง๋ค.
- ๊ด์ ๊ตฌ์ ๊ฒฝ์ฐ ์ฐ๋ฆฝ ๋ค์ธ๋๊ฐ ์ ์ฒด ๋งค๋ฌผ์ ์ฝ 84%๋ฅผ ์ฐจ์งํ๋ค. (๋ฐ๋ผ์, ์ํํธ์ ์คํผ์คํ ์ด๋ผ๋ ์กฐ๊ฑด ํ์์๋ ๋งค๋ฌผ ์๊ฐ ๋ง์ง ์๋ค.)
ํ๊ท ํ๋น๊ฐ
๋๋ณด๊ธฐ
๐ฃ Code
SELECT ์์น๊ตฌ๋ช
,
ROUND(AVG(`ํ๋น๊ฐ(๋ง์)`),0) "ํ๊ท ํ๋น๊ฐ(๋ง์)", ROUND(AVG(`๋ณด์ฆ๊ธ(๋ง์)`),0) "ํ๊ท ์ ์ธ๊ธ(๋ง์)", ROUND(AVG(์๋๋ฉด์ ),1) "ํ๊ท ๋ฉด์ ", COUNT(*) ๋งค๋ฌผ์
FROM (SELECT *, `๋ณด์ฆ๊ธ(๋ง์)`/ ์๋๋ฉด์ * 3.306 as "ํ๋น๊ฐ(๋ง์)" FROM Rent_2022
WHERE ์ ์์ธ๊ตฌ๋ถ = "์ ์ธ"
AND ์์น๊ตฌ๋ช
in ('๋๋๋ฌธ๊ตฌ', '๊ด์ง๊ตฌ', '์กํ๊ตฌ', '์์ด๊ตฌ', '์ฉ์ฐ๊ตฌ', '์ค๊ตฌ', '์ฑ๋๊ตฌ', '๊ฐ๋จ๊ตฌ', '๊ด์
๊ตฌ')
AND ์ธต >=3
AND ๊ฑด๋ฌผ์ฉ๋ in ("์คํผ์คํ
","์ํํธ")
AND ์๋๋ฉด์ >= 24
AND `๋ณด์ฆ๊ธ(๋ง์)` <= 20000
AND (2022 - ๊ฑด์ถ๋
๋) < 10) r
GROUP BY 1
ORDER BY 3
- 1 ์ ๊ณฑ๋ฏธํฐ๋น ๋ณด์ฆ๊ธ์ด ๊ฐ์ฅ ์ ๋ ดํ ์ง์ญ์ ์์ด๊ตฌ(1154๋ง์) ๊ทธ๋ฌ๋ ๋งค๋ฌผ ์๋ 35๊ฐ(4์)๋ก ์ ์ ํธ
- ๋ฐ๋ฉด ๋งค๋ฌผ ์๊ฐ ๊ฐ์ฅ ๋ง์ ๊ฐ๋จ๊ตฌ(322๊ฐ)์ ๊ฒฝ์ฐ ํ๋น ๊ฐ๊ฒฉ์ 1715๋ง์์ผ๋ก 9๊ฐ ์ง์ญ์ค 5์์ด๋ค.
์ง์ญ ๋ณ ์ธํ๋ผ ๋น๊ต
๋๋ณด๊ธฐ
๐ฃ Code
SELECT *,
๋๋ฌผ๋ณ์ + ์คํฌ์ธ ํด๋ฝ + ์คํฌ์ธ ๊ฐ์ต tot
FROM (
SELECT ์๊ตฐ๊ตฌ๋ช
,
max(if(์
์ข
= "๋๋ฌผ๋ณ์", ์ ํฌ์, NULL)) "๋๋ฌผ๋ณ์",
max(if(์
์ข
= "์คํฌ์ธ ํด๋ฝ", ์ ํฌ์, NULL)) "์คํฌ์ธ ํด๋ฝ",
max(if(์
์ข
= "์คํฌ์ธ ๊ฐ์ต", ์ ํฌ์, NULL)) "์คํฌ์ธ ๊ฐ์ต"
FROM (SELECT ์๊ตฐ๊ตฌ๋ช
, ์๋น์ค_์
์ข
_์ฝ๋_๋ช
์
์ข
, sum(์ ํฌ_์) ์ ํฌ์
FROM shop s INNER JOIN addr a ON s.ํ์ ๋_์ฝ๋*100 =a.ํ์ ๋์ฝ๋
WHERE ๊ธฐ์ค_๋
๋ถ๊ธฐ_์ฝ๋ = 20221 and (์๋น์ค_์
์ข
_์ฝ๋_๋ช
= "๋๋ฌผ๋ณ์" or ์๋น์ค_์
์ข
_์ฝ๋_๋ช
like '%์คํฌ์ธ %')
and ์๊ตฐ๊ตฌ๋ช
in ('๋๋๋ฌธ๊ตฌ', '๊ด์ง๊ตฌ', '์กํ๊ตฌ', '์์ด๊ตฌ', '์ฉ์ฐ๊ตฌ', '์ค๊ตฌ', '์ฑ๋๊ตฌ', '๊ฐ๋จ๊ตฌ', '๊ด์
๊ตฌ')
GROUP BY 1,2)t
WHERE ์๊ตฐ๊ตฌ๋ช
in ('๋๋๋ฌธ๊ตฌ', '๊ด์ง๊ตฌ', '์กํ๊ตฌ', '์์ด๊ตฌ', '์ฉ์ฐ๊ตฌ', '์ค๊ตฌ', '์ฑ๋๊ตฌ', '๊ฐ๋จ๊ตฌ', '๊ด์
๊ตฌ')
GROUP BY 1)t2
ORDER BY 5 DESC
- ์ธํ๋ผ ์์ค์ด ๊ฐ์ฅ ๋ง์ ์ง์ญ์ ๊ฐ๋จ๊ตฌ(973๊ฐ)
์๊ด๊ด๊ณ
1. ํ๋น๊ฐ - ์ฐ์
- ํ๋น๊ฐ(๋ง์)๊ณผ ์ฐ์์ ์์ ์๊ด๊ด๊ณ๋ก ์ฐ์์ด ์์ ์๋ก ํ๋น๊ฐ(๋ง์)๊ฐ ๋์
- ๊ทธ๋ฌ๋ ๊ฒฐ์ ๊ณ์(R์ ๊ณฑ) ๊ฐ์ด 0.0274๋ก 0์ ๊ฐ๊น๊ธฐ ๋๋ฌธ์, ์ ์๋ฏธํ ๊ด๊ณ๋ผ๊ณ ๋ณด๊ธฐ๋ ์ด๋ ค์.
2. ํ๋น๊ฐ - ์ธํ๋ผ์
- ํ๋น๊ฐ(๋ง์)์ ์ธํ๋ผ ์๋ ์์ ์๊ด๊ด๊ณ๋ก ํ๋น๊ฐ(๋ง์)์ด ๋์์๋ก ์ธํ๋ผ ์๊ฐ ๋ง๋ค.
- ๊ทธ๋ฌ๋ ๊ฒฐ์ ๊ณ์๊ฐ(R^2)์ด 0.0979๋ก 0์ ๊ฐ๊น๊ธฐ ๋๋ฌธ์, ์ ์๋ฏธํ ๊ด๊ณ๋ผ๊ณ ๋ณด๊ธฐ๋ ์ด๋ ค์.