**کد شما باید روی PostgreSQL قابل اجرا باشد.**
----------
در این سوال، دیتاست مربوط به ورزشکاران و مربیان المپیک ۲۰۱۶ در اختیار شما قرار گرفته است.
# جزئیات پایگاهداده
دادههای اولیه را از [این لینک](/problemset/assignments/4367/download_problem_initial_project/244099/) دانلود کنید.
<details class="yellow">
<summary>
**ایمپورت کردن دادههای اولیه**
</summary>
از نصب بودن *PostgreSQL* روی سیستم خود اطمینان حاصل کنید.
سپس برای ایمپورت کردن دادههای اولیه میتوانید از یکی از دو روش زیر اقدام کنید:
۱- با استفاده *CLI* به راحتی دستور زیر را وارد کنید تا دادههای اولیه ایمپورت شوند:
```shell
psql -U postgres -f /path/to/initial.sql
```
که در این دستور مسیر فایل `initial.sql` را به صورت مطلق یا نسبی میتوانید آدرسدهی کنید.
۲- اگر *GUI* را ترجیح میدهید. پس از نصب دیتاگریپ و اتصال به *PostgreSQL* با یوزر `postgres`، باید روی دیتاسورس و کانکشن `postgres` راست کلیک کنید و از منوی `SQL Scripts` گزینه `Run SQL Script` را انتخاب کنید. سپس فایل `initial.sql` را پیدا و تایید کنید. در انتها روی `Run` کلیک کنید تا اسکریپت اجرا شود و دادهها وارد دیتابیس `quera` شوند.
</details>
<details class="grey">
<summary>
**توضیحات جداول دیتاست**
</summary>
این دیتاست شامل اطلاعات و نتایج حدود یازده هزار ورزشکار و مربیان آنها در المپیک ریو است و ساختار جدول `athletes` مربوط به این دیتاست بهصورت زیر است:
|نام ستون|نوع|تعریف|
|:-------:|:---:|:----:|
|`id`|`integer`|شناسهی منحصر به فرد ورزشکار|
|`name`|`character varying(255)`|نام|
|`sex`|`character(1)`|جنسیت ورزشکار ('M' یا 'F')|
|`weight`|`double precision`|وزن|
|`team`|`character varying(255)`|تیم یا کشور|
|`sport`|`character varying(255)`|ورزش برای مثال کشتی یا `Wrestling`|
|`event`|`character varying(255)`|منظور از رویداد عنوان دقیق رشته ورزشی است. برای مثال کشتی آزاد سنگینوزن مردان یا `Wrestling Men's Heavyweight, Freestyle`|
|`medal`|`character varying(10)`|مدالی که ورزشکار کسب کرده (`Gold`، `Silver`، `Bronze`، یا `NULL` اگر مدالی نگرفته)|
و ساختار جدول `coaches` به شکل زیر است:
|نام ستون|نوع|تعریف|
|:-------:|:---:|:----:|
|`id`|`integer`|شناسهی منحصر به فرد مربی (کلید اصلی)|
|`name`|`character varying(255)`|نام مربی |
|`athlete_id`|`integer`|شناسهی ورزشکار مرتبط (کلید خارجی به ستون `id` از جدول ورزشکاران)|
</details>
# مطلوبات
کوئریهایی بنویسید که خروجیهای مطلوب زیر را بهدست آورد (توجه کنید که هر کوئری نمرهای جداگانه دارد و اگر کوئری یک قسمت را نتوانستید بنویسید، کوئریهایی که حل کردید را بفرستید و کوئری آن قسمت را خالی بگذارید):
1. نام و تعداد مدالهای سه ورزش برتر ایران، که در المپیک بیشترین مدال را آوردهاند، به ترتیب نزولی ستون تعداد مدال بیابید.
<details class="blue">
<summary>
*توضیحات مربوط به کوئری اول*
</summary>
نام ستون تعداد مدالها باید `medal_count` باشد و مقدار ستون `team` این ورزشکاران برابر با `Iran` است:
| sport | medal_count |
| ----- | ----------- |
</details>
2. نام و نوع مدالِ مدالآوران ایرانی حاضر در المپیک ۲۰۱۶ را به ترتیب مرغوبیت مدال و سپس صعودی نام به دست آورید.
<details class="blue">
<summary>
*توضیحات مربوط به کوئری دوم*
</summary>
منظور از مرغوبیت مدال یعنی در ابتدا سطرهای شامل مدال طلا، سپس نقره و در نهایت برنز در نتیجه ظاهر شوند. مقدار ستون `team` این ورزشکاران برابر با `Iran` است. در جدول زیر چون هر دو طلا گرفتهاند بر اساس نام مرتب شدهاند.
| | name | medal|
| ---- | ----------------------------- | ---- |
| 1 | Hassan Aliazam Yazdanicharati | Gold |
| 2 | Kianoush Rostami | Gold |
در جدول بالا اولین ستون از سمت چپ نمایانگر شماره ستون در نتایج مورد انتظار است و نیازی به نمایش آن نیست.
</details>
3. نام ده مربی، تیم مربوطه، مجموع تعداد مدالهای طلا، نقره و برنز و همچنین مجموع امتیازی که ورزشکاران تحت هدایت آن مربی توانستهاند در کشتی مردان به دست آورند را در ابتدا به ترتیب نزولی مجموع امتیاز و در صورت برابر بودن به ترتیب صعودی نام مربی به دست آورید.
<details class="blue">
<summary>
*توضیحات مربوط به کوئری سوم*
</summary>
فرمول مجموع امتیازات به این شکل است که اگر ورزشکار تحت هدایت مربی موفق به کسب مدال طلا شده باشد ۲۵ امتیاز، نقره ۲۰ و برنز ۱۵ امتیاز به آن مربی تعلق پیدا خواهد کرد. در جدول زیر نمونهای از خروجی مطلوب را مشاهده میکنید:
| | coach_name | team | gold_medal | silver_medal | bronze_medal| total_point|
| ---------- | ----------------- | ---------- | ------------ | ------------ | ----------- | --- |
| 1 | Saypulla Absaidov | Azerbaijan | 0 | 2 | 3 | 85 |
| ... | ... | ... | ... | ... | ... | ... |
| 10 | Mohammad Bana | Iran | 0 | 0 | 2 | 30 |
در جدول بالا اولین ستون از سمت چپ نمایانگر شماره ستون در نتایج مورد انتظار است و نیازی به نمایش آن نیست.
</details>
4. لیست ۲۲ تیم برتر که حداقل هفت ورزشکار زن آنها موفق به کسب مدال شدهاند، به همراه تعداد زنان و مردان مدالآور و نسبت تعداد زنان مدالآور به مردان مدالآور را نمایش دهید. نتایج بر حسب نزولی تعداد ورزشکاران زن، که مدال کسب کردهاند مرتب شود و در صورت تساوی، بر اساس نسبت زنان به مردان مدالآور به صورت نزولی مرتب گردد.
<details class="blue">
<summary>
*توضیحات مربوط به کوئری چهارم*
</summary>
اگر هیچ مردی در آن تیم موفق به کسب مدال نشده بود، از آنجا که تقسیم بر صفر معتبر نیست، باید مقدار `NULL` در ستون نسبت مدالآوران زن به مرد درج شود و برای این ستون باید مقدار نسبت تا حداکثر دو رقم اعشار محاسبه شود و مابقی ارقام در اعشار گرد شوند. همچنین دقت کنید نام ستونها دقیقا با مثال زیر یکسان باشد.
نمونه خروجی مورد انتظار:
| | team | female_medalists | male_medalists | female_to_male_ratio |
| :--- | :------------ | :--------------- | :------------- | :------------------- |
| 1 | United States | 95 | 71 | 1.34 |
| 2 | Russia | 60 | 22 | 2.73 |
| ... | ... | ... | ... | ... |
| 21 | Bulgaria | 7 | 0 | *<null>* |
| ... | ... | ... | ... | ... |
در جدول بالا اولین ستون از سمت چپ نمایانگر شماره ستون در نتایج مورد انتظار است و نیازی به نمایش آن نیست.
</details>
**نکته:** برای حل کامل سوال و دریافت امتیاز کوئریها **حتما توضیحات مربوط به هر کوئری** را مطالعه بفرمایید.
# آنچه باید آپلود کنید
پس از پیادهسازی کوئریها، آن را در قالب یک فایل با پسوند `.sql` آپلود کنید.
کوئریهای شما باید به صورت زیر باشد و هیچ گونه تغییری در **کامنتها** ندهید.
```sql
-- Section1
Your first query here
-- Section2
Your second query here
-- Section3
Your third query here
-- Section4
Your fourth query here
```