Article Views II Problem


Description

LeetCode Problem 1149.

Table: Views

1
2
3
4
5
6
7
8
9
10
11
+---------------+---------+
| 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 people who viewed more than one article on the same date, sorted in ascending order by their id.

The query result format is in the following example:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Views table:
+------------+-----------+-----------+------------+
| article_id | author_id | viewer_id | view_date  |
+------------+-----------+-----------+------------+
| 1          | 3         | 5         | 2019-08-01 |
| 3          | 4         | 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 |
+------------+-----------+-----------+------------+

Result table:
+------+
| id   |
+------+
| 5    |
| 6    |
+------+


MySQL Solution

1
2
3
4
5
6
7
select id 
from (select distinct viewer_id as id, 
            count(distinct article_id) as count_view
      from views 
      group by view_date, viewer_id) sub
where sub.count_view > 1
order by sub.id 




Related Posts

Market Analysis II Problem

LeetCode 1159. Write an SQL query to find for each...

Article Views II Problem

LeetCode 1149. Write an SQL query to find all the...

Market Analysis I Problem

LeetCode 1158. Write an SQL query to find for each...

User Activity For The Past 30 Days II Problem

LeetCode 1142. Write an SQL query to find the average...

User Activity For The Past 30 Days I Problem

LeetCode 1141. Write an SQL query to find the daily...

Article Views I Problem

LeetCode 1148. Write an SQL query to find all the...