• data analysis/SQL
[leetcode] 1148. Article Views I
oujin
2024. 2. 20. 20:19
728x90
테이블 생성 코드
Create table If Not Exists Views (article_id int, author_id int, viewer_id int, view_date date)
Truncate table Views
insert into Views (article_id, author_id, viewer_id, view_date) values ('1', '3', '5', '2019-08-01')
insert into Views (article_id, author_id, viewer_id, view_date) values ('1', '3', '6', '2019-08-02')
insert into Views (article_id, author_id, viewer_id, view_date) values ('2', '7', '7', '2019-08-01')
insert into Views (article_id, author_id, viewer_id, view_date) values ('2', '7', '6', '2019-08-02')
insert into Views (article_id, author_id, viewer_id, view_date) values ('4', '7', '1', '2019-07-22')
insert into Views (article_id, author_id, viewer_id, view_date) values ('3', '4', '4', '2019-07-21')
insert into Views (article_id, author_id, viewer_id, view_date) values ('3', '4', '4', '2019-07-21')
문제

해결 코드
SELECT DISTINCT(author_id) AS id
FROM Views
WHERE author_id = viewer_id
ORDER BY author_id;
풀이
글쓴이가 자신이 쓴글을 자신이 한번이라도 봐야하므로
author_id = viewer_id 인조건을 where 절에 넣는다
그리고 중복값이 생기면 한번만 출력하기 위해
select 절에 distinct를 사용하여
DISTINCT(author_id) 게 적고
출력되는 컬럼명을 바꾸기 위해
DISTINCT(author_id) AS id 라고 적는다.
728x90