-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path1148-ArticleViewsI.sql
More file actions
58 lines (55 loc) · 2.38 KB
/
1148-ArticleViewsI.sql
File metadata and controls
58 lines (55 loc) · 2.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
-- 1148. Article Views I
-- Table: Views
-- +---------------+---------+
-- | Column Name | Type |
-- +---------------+---------+
-- | article_id | int |
-- | author_id | int |
-- | viewer_id | int |
-- | view_date | date |
-- +---------------+---------+
-- There is no primary key for this table, it may have duplicate rows.
-- Each row of this table indicates that some viewer viewed an article (written by some author) on some date.
-- Note that equal author_id and viewer_id indicate the same person.
--
-- Write an SQL query to find all the authors that viewed at least one of their own articles.
-- Return the result table sorted by id in ascending order.
-- The query result format is in the following example.
-- Example 1:
-- Input:
-- Views table:
-- +------------+-----------+-----------+------------+
-- | article_id | author_id | viewer_id | view_date |
-- +------------+-----------+-----------+------------+
-- | 1 | 3 | 5 | 2019-08-01 |
-- | 1 | 3 | 6 | 2019-08-02 |
-- | 2 | 7 | 7 | 2019-08-01 |
-- | 2 | 7 | 6 | 2019-08-02 |
-- | 4 | 7 | 1 | 2019-07-22 |
-- | 3 | 4 | 4 | 2019-07-21 |
-- | 3 | 4 | 4 | 2019-07-21 |
-- +------------+-----------+-----------+------------+
-- Output:
-- +------+
-- | id |
-- +------+
-- | 4 |
-- | 7 |
-- +------+
-- 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
id ASC