Percentage of Users Attended a Contest
<p>Table: <code>Users</code></p>

<pre>
+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| user_id     | int     |
| user_name   | varchar |
+-------------+---------+
user_id is the primary key (column with unique values) for this table.
Each row of this table contains the name and the id of a user.
</pre>

<p>&nbsp;</p>

<p>Table: <code>Register</code></p>

<pre>
+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| contest_id  | int     |
| user_id     | int     |
+-------------+---------+
(contest_id, user_id) is the primary key (combination of columns with unique values) for this table.
Each row of this table contains the id of a user and the contest they registered into.
</pre>

<p>&nbsp;</p>

<p>Write a solution to find the percentage of the users registered in each contest rounded to <strong>two decimals</strong>.</p>

<p>Return the result table ordered by <code>percentage</code> in <strong>descending order</strong>. In case of a tie, order it by <code>contest_id</code> in <strong>ascending order</strong>.</p>

<p>The result format is in the following example.</p>

<p>&nbsp;</p>
<p><strong class="example">Example 1:</strong></p>

<pre>
<strong>Input:</strong> 
Users table:
+---------+-----------+
| user_id | user_name |
+---------+-----------+
| 6       | Alice     |
| 2       | Bob       |
| 7       | Alex      |
+---------+-----------+
Register table:
+------------+---------+
| contest_id | user_id |
+------------+---------+
| 215        | 6       |
| 209        | 2       |
| 208        | 2       |
| 210        | 6       |
| 208        | 6       |
| 209        | 7       |
| 209        | 6       |
| 215        | 7       |
| 208        | 7       |
| 210        | 2       |
| 207        | 2       |
| 210        | 7       |
+------------+---------+
<strong>Output:</strong> 
+------------+------------+
| contest_id | percentage |
+------------+------------+
| 208        | 100.0      |
| 209        | 100.0      |
| 210        | 100.0      |
| 215        | 66.67      |
| 207        | 33.33      |
+------------+------------+
<strong>Explanation:</strong> 
All the users registered in contests 208, 209, and 210. The percentage is 100% and we sort them in the answer table by contest_id in ascending order.
Alice and Alex registered in contest 215 and the percentage is ((2/3) * 100) = 66.67%
Bob registered in contest 207 and the percentage is ((1/3) * 100) = 33.33%
</pre>

['queries-quality-and-percentage']
['Create table If Not Exists Users (user_id int, user_name varchar(20))', 'Create table If Not Exists Register (contest_id int, user_id int)', 'Truncate table Users', "insert into Users (user_id, user_name) values ('6', 'Alice')", "insert into Users (user_id, user_name) values ('2', 'Bob')", "insert into Users (user_id, user_name) values ('7', 'Alex')", 'Truncate table Register', "insert into Register (contest_id, user_id) values ('215', '6')", "insert into Register (contest_id, user_id) values ('209', '2')", "insert into Register (contest_id, user_id) values ('208', '2')", "insert into Register (contest_id, user_id) values ('210', '6')", "insert into Register (contest_id, user_id) values ('208', '6')", "insert into Register (contest_id, user_id) values ('209', '7')", "insert into Register (contest_id, user_id) values ('209', '6')", "insert into Register (contest_id, user_id) values ('215', '7')", "insert into Register (contest_id, user_id) values ('208', '7')", "insert into Register (contest_id, user_id) values ('210', '2')", "insert into Register (contest_id, user_id) values ('207', '2')", "insert into Register (contest_id, user_id) values ('210', '7')"]
[{"value": "mysql", "text": "MySQL", "defaultCode": "# Write your MySQL query statement below\n"}, {"value": "mssql", "text": "MS SQL Server", "defaultCode": "/* Write your T-SQL query statement below */\n"}, {"value": "oraclesql", "text": "Oracle", "defaultCode": "/* Write your PL/SQL query statement below */\n"}, {"value": "pythondata", "text": "Pandas", "defaultCode": "import pandas as pd\n\ndef users_percentage(users: pd.DataFrame, register: pd.DataFrame) -> pd.DataFrame:\n    "}, {"value": "postgresql", "text": "PostgreSQL", "defaultCode": "-- Write your PostgreSQL query statement below\n"}]
{"mysql": ["Create table If Not Exists Users (user_id int, user_name varchar(20))", "Create table If Not Exists Register (contest_id int, user_id int)"], "mssql": ["Create table Users (user_id int, user_name varchar(20))", "Create table Register (contest_id int, user_id int)"], "oraclesql": ["Create table Users (user_id int, user_name varchar(20))", "Create table Register (contest_id int, user_id int)"], "database": true, "name": "users_percentage", "pythondata": ["Users = pd.DataFrame([], columns=['user_id', 'user_name']).astype({'user_id':'Int64', 'user_name':'object'})", "Register = pd.DataFrame([], columns=['contest_id', 'user_id']).astype({'contest_id':'Int64', 'user_id':'Int64'})"], "postgresql": ["\nCreate table If Not Exists Users (user_id int, user_name varchar(20))\n", "Create table If Not Exists Register (contest_id int, user_id int)"], "database_schema": {"Users": {"user_id": "INT", "user_name": "VARCHAR(20)"}, "Register": {"contest_id": "INT", "user_id": "INT"}}}
{"mysql": ["MySQL", "<p><code>MySQL 8.0</code>.</p>"], "mssql": ["MS SQL Server", "<p><code>mssql server 2019</code>.</p>"], "oraclesql": ["Oracle", "<p><code>Oracle Sql 11.2</code>.</p>"], "pythondata": ["Pandas", "<p>Python 3.10 with Pandas 2.2.2 and NumPy 1.26.4</p>"], "postgresql": ["PostgreSQL", "<p>PostgreSQL 16</p>"]}
['Database']