Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 01badef

Browse files
authored
feat: update sql solution to lc problem: No.1322 (doocs#1815)
1 parent 1753726 commit 01badef

File tree

3 files changed

+14
-36
lines changed

3 files changed

+14
-36
lines changed

solution/1300-1399/1322.Ads Performance/README.md

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -83,16 +83,11 @@ Ads 表:
8383

8484
```sql
8585
SELECT
86-
ad_id,
87-
IFNULL(ROUND(AVG(CASE
88-
WHEN action = 'Clicked' THEN 1
89-
WHEN action = 'Viewed' THEN 0
90-
ELSE NULL
91-
END) * 100, 2), 0) AS ctr
92-
FROM ads
93-
GROUP BY ad_id
94-
ORDER BY ctr DESC,
95-
ad_id ASC;
86+
ad_id,
87+
ROUND(IFNULL(SUM(action = 'Clicked') / SUM(action IN ('Clicked', 'Viewed')) * 100, 0), 2) AS ctr
88+
FROM Ads
89+
GROUP BY 1
90+
ORDER BY 2 DESC, 1;
9691
```
9792

9893
<!-- tabs:end -->

solution/1300-1399/1322.Ads Performance/README_EN.md

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -76,16 +76,11 @@ Note that we do not care about Ignored Ads.
7676

7777
```sql
7878
SELECT
79-
ad_id,
80-
IFNULL(ROUND(AVG(CASE
81-
WHEN action = 'Clicked' THEN 1
82-
WHEN action = 'Viewed' THEN 0
83-
ELSE NULL
84-
END) * 100, 2), 0) AS ctr
85-
FROM ads
86-
GROUP BY ad_id
87-
ORDER BY ctr DESC,
88-
ad_id ASC;
79+
ad_id,
80+
ROUND(IFNULL(SUM(action = 'Clicked') / SUM(action IN ('Clicked', 'Viewed')) * 100, 0), 2) AS ctr
81+
FROM Ads
82+
GROUP BY 1
83+
ORDER BY 2 DESC, 1;
8984
```
9085

9186
<!-- tabs:end -->
Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,7 @@
11
# Write your MySQL query statement below
22
SELECT
33
ad_id,
4-
IFNULL(
5-
ROUND(
6-
AVG(
7-
CASE
8-
WHEN action = 'Clicked' THEN 1
9-
WHEN action = 'Viewed' THEN 0
10-
ELSE NULL
11-
END
12-
) * 100,
13-
2
14-
),
15-
0
16-
) AS ctr
17-
FROM ads
18-
GROUP BY ad_id
19-
ORDER BY ctr DESC, ad_id ASC;
4+
ROUND(IFNULL(SUM(action = 'Clicked') / SUM(action IN ('Clicked', 'Viewed')) * 100, 0), 2) AS ctr
5+
FROM Ads
6+
GROUP BY 1
7+
ORDER BY 2 DESC, 1;

0 commit comments

Comments
 (0)