๐Ÿ˜ ๋žญํฌ๊ฒŒ์ž„ ํ•˜๋‹ค๊ฐ€ ์‹ธ์›Œ์„œ ํ”ผํŠธ๋ฐฑ ๋‚จ๊ฒผ์–ด์š”...

์ฝ”๋“ฑ์–ดยท2024๋…„ 11์›” 22์ผ
0

์‚ฌ์ „์บ ํ”„

๋ชฉ๋ก ๋ณด๊ธฐ
7/19

lol_feedbacks (LOL ํ”ผ๋“œ๋ฐฑ) ํ…Œ์ด๋ธ”

iduser_namesatisfaction_scorefeedback_date
1๋ฅดํƒ„์ด52023-03-01
2๋ฐฐ์บ ์ด42023-03-02
3๊ตฌ๊ตฌ์ด32023-03-01
4์ด์…˜์ด52023-03-03
5๊ตฌ๊ตฌ์ด42023-03-04

ํ…Œ์ด๋ธ” ์ž‘์„ฑ, ๋ฐ์ดํ„ฐ ์‚ฝ์ž… ์ฟผ๋ฆฌ

create table lol_feedbacks 
(
	id int unsigned,
	name varchar(10),
	satisfaction_score tinyint,
	feedback_date date
);

insert into lol_feedbacks (id, name, satisfaction_score, feedback_date)values
(1, "๋ฅดํƒ„์ด", 5, "2023-03-01"),
(2, "๋ฐฐ์บ ์ด", 4, "2023-03-02"),
(3, "๊ตฌ๊ตฌ์ด", 3, "2023-03-01"),
(4, "์ด์…˜์ด", 5, "2023-03-03"),
(5, "๊ตฌ๊ตฌ์ด", 4, "2023-03-04");

์—ฐ์Šต๋ฌธ์ œ

  1. lol_feedbacks ํ…Œ์ด๋ธ”์—์„œ ๋งŒ์กฑ๋„ ์ ์ˆ˜(satisfaction_score)์— ๋”ฐ๋ผ ํ”ผ๋“œ๋ฐฑ์„ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๋Š” ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”!
select *
from lol_feedbacks
order by satisfaction_score desc;
  1. lol_feedbacks ํ…Œ์ด๋ธ”์—์„œ ๊ฐ ์œ ์ €๋ณ„๋กœ ์ตœ์‹  ํ”ผ๋“œ๋ฐฑ์„ ์ฐพ๋Š” ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”!
select user_name, max(feedback_date) as "์ตœ์‹  ํ”ผ๋“œ๋ฐฑ"
from lol_feedbacks
group by user_name;
  1. lol_feedbacks ํ…Œ์ด๋ธ”์—์„œ ๋งŒ์กฑ๋„ ์ ์ˆ˜๊ฐ€ 5์ ์ธ ํ”ผ๋“œ๋ฐฑ์˜ ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”!
select count(*)
from lol_feedbacks
where satisfaction_score = 5;
  1. lol_feedbacks ํ…Œ์ด๋ธ”์—์„œ ๊ฐ€์žฅ ๋งŽ์€ ํ”ผ๋“œ๋ฐฑ์„ ๋‚จ๊ธด ์ƒ์œ„ 3๋ช…์˜ ๊ณ ๊ฐ์„ ์ฐพ๋Š” ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”!
select user_name, count(user_name) as "ํ”ผ๋“œ๋ฐฑ ์ˆ˜"
from lol_feedbacks
group by user_name 
order by count(user_name)desc limit 3;
  1. lol_feedbacks ํ…Œ์ด๋ธ”์—์„œ ํ‰๊ท  ๋งŒ์กฑ๋„ ์ ์ˆ˜๊ฐ€ ๊ฐ€์žฅ ๋†’์€ ๋‚ ์งœ๋ฅผ ์ฐพ๋Š” ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”!
select feedback_date, avg(satisfaction_score) as "ํ‰๊ท  ์ ์ˆ˜"
from lol_feedbacks
group by feedback_date 
order by avg(satisfaction_score) desc limit 1;
profile
์ •ํ˜•ํ™”๋˜์ง€ ์•Š์€ ๋‚  ๊ฒƒ์˜ ์ƒ๊ฐ์„ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€