데이터 분석하기
-- 유저 중에서 가장 오래된 회원 다섯명을 찾으세요
select *
from users
order by created_at asc
limit 5;
-- 회원가입을 가장 많이 하는 요일은 무슨요일??
select dayname(created_at) as dayname, count(id) as count
from users
group by dayname
order by count desc;
-- 회원가입은 했지만, 사진은 한번도 올리지 않은 유령회원들의 데이터를 가져오시오
select *
from users u
left join photos p
on u.id = p.user_id
where p.image_url is null ;
-- 가장 유명한 사진은 무엇인지 찾아서 그 사진의 유저이름, 이미지주소, 좋아요 수를 나타내세요
select u.username, p.image_url , count(l.photo_id) as like_count
from photos p
join likes l
on p.id = l.photo_id
join users u
on p.user_id = u.id
group by l.photo_id
order by like_count desc
limit 1;
-- 가장 많이 사용된 해시태그의 이름은 무엇이며, 몇개나 사용되었는지 나타내시오
-- 즉 가장 많이 사용된 해시태그의 이름, 갯수를 표시하시오
select t.tag_name, count(pt.tag_id) as tag_count
from photo_tags pt
join tags t
on pt.tag_id = t.id
group by tag_id
order by tag_count desc
limit 1;
'MySQL' 카테고리의 다른 글
MySQL) Instargram - 유니크와 이중유니크 : 클라이언트가 동일 인물을 중복 팔로우 하면 오류 뜨게 하기 (0) | 2024.05.20 |
---|---|
MySQL) Instargram (3) : 프론트엔드 개발자에게 보낼 데이터 만들기 (0) | 2024.05.20 |
MySQL) Instargram (1) : 태그, 좋아요, 팔로우 데이터 입력하기 (0) | 2024.05.17 |
MySQL) 3개 이상의 테이블 조인하기 (0) | 2024.05.16 |
MySQL) 외래 키 제약 조건 설정에서 참조 무결성 변경하기 (RESTRICT , CASCADE , SET NULL , NO ACTION) (0) | 2024.05.16 |