diff --git a/solution/1100-1199/1142.User Activity for the Past 30 Days II/README.md b/solution/1100-1199/1142.User Activity for the Past 30 Days II/README.md index f9d0f296ca9a8..ac6aa2449906f 100644 --- a/solution/1100-1199/1142.User Activity for the Past 30 Days II/README.md +++ b/solution/1100-1199/1142.User Activity for the Past 30 Days II/README.md @@ -75,13 +75,23 @@ Activity 表: WITH T AS ( SELECT - count(DISTINCT session_id) AS sessions + COUNT(DISTINCT session_id) AS sessions FROM Activity - WHERE activity_date <= '2019-07-27' AND datediff('2019-07-27', activity_date) < 30 + WHERE activity_date <= '2019-07-27' AND DATEDIFF('2019-07-27', activity_date) < 30 GROUP BY user_id ) -SELECT ifnull(round(avg(sessions), 2), 0) AS average_sessions_per_user +SELECT IFNULL(ROUND(AVG(sessions), 2), 0) AS average_sessions_per_user FROM T; ``` +```sql +SELECT + IFNULL( + ROUND(COUNT(DISTINCT session_id) / COUNT(DISTINCT user_id), 2), + 0 + ) AS average_sessions_per_user +FROM Activity +WHERE DATEDIFF('2019-07-27', activity_date) < 30; +``` + diff --git a/solution/1100-1199/1142.User Activity for the Past 30 Days II/README_EN.md b/solution/1100-1199/1142.User Activity for the Past 30 Days II/README_EN.md index f57311bd395ef..c5dcb50efa2d3 100644 --- a/solution/1100-1199/1142.User Activity for the Past 30 Days II/README_EN.md +++ b/solution/1100-1199/1142.User Activity for the Past 30 Days II/README_EN.md @@ -71,13 +71,23 @@ Activity table: WITH T AS ( SELECT - count(DISTINCT session_id) AS sessions + COUNT(DISTINCT session_id) AS sessions FROM Activity - WHERE activity_date <= '2019-07-27' AND datediff('2019-07-27', activity_date) < 30 + WHERE activity_date <= '2019-07-27' AND DATEDIFF('2019-07-27', activity_date) < 30 GROUP BY user_id ) -SELECT ifnull(round(avg(sessions), 2), 0) AS average_sessions_per_user +SELECT IFNULL(ROUND(AVG(sessions), 2), 0) AS average_sessions_per_user FROM T; ``` +```sql +SELECT + IFNULL( + ROUND(COUNT(DISTINCT session_id) / COUNT(DISTINCT user_id), 2), + 0 + ) AS average_sessions_per_user +FROM Activity +WHERE DATEDIFF('2019-07-27', activity_date) < 30; +``` + diff --git a/solution/1100-1199/1142.User Activity for the Past 30 Days II/Solution.sql b/solution/1100-1199/1142.User Activity for the Past 30 Days II/Solution.sql index 9268c12f0030d..90e622a9eb7be 100644 --- a/solution/1100-1199/1142.User Activity for the Past 30 Days II/Solution.sql +++ b/solution/1100-1199/1142.User Activity for the Past 30 Days II/Solution.sql @@ -2,10 +2,10 @@ WITH T AS ( SELECT - count(DISTINCT session_id) AS sessions + COUNT(DISTINCT session_id) AS sessions FROM Activity - WHERE activity_date <= '2019-07-27' AND datediff('2019-07-27', activity_date) < 30 + WHERE activity_date <= '2019-07-27' AND DATEDIFF('2019-07-27', activity_date) < 30 GROUP BY user_id ) -SELECT ifnull(round(avg(sessions), 2), 0) AS average_sessions_per_user +SELECT IFNULL(ROUND(AVG(sessions), 2), 0) AS average_sessions_per_user FROM T;