|دادههای اولیه برای **تست نهایی** را از [این لینک](/contest/assignments/85735/download_problem_initial_project/292704/) دانلود کنید.|
|:-:|
<details class="yellow">
<summary>
**توضیحات مهم اولیه**
</summary>
در فایل *world_cup.zip* فایلی به اسم initial.sql وجود دارد.
با اجرای این فایل، همه جداول و سطرهایی که برای **تست نهایی** مورد استفاده قرار میگیرد در پایگاه داده شما ایجاد میشوند. پیش از اجرای این فایل، حتما پایگاه دادهای با اسم دلخواه ایجاد کنید و در ابتدای این فایل، کد `use YOUR_DB_NAME;` را وارد کنید.
**کوئریهای شما باید روی آخرین نسخهی *MySQL* قابل اجرا باشند.**
برای چک کردن سینتکس کد *SQL* خود میتوانید از **[این وبسایت](https://www.eversql.com/sql-syntax-check-validator/)** کمک بگیرید.
</details>
این مسئله شامل ۶ بخش است که در ادامه آمده است.
## 1) سوال اول
اسم بازیکنانی که دستکم یک بار جایزهٔ آقای گلی را گرفتهاند را همراه با تعداد دفعات دریافت جایزه بیابید. ردیفها باید مرتبشده نزولی بر اساس تعداد دفعات و صعودی بر اساس شناسهٔ بازیکن باشند.
<details class="blue">
<summary>
*توضیحات در مورد Query اول*
</summary>
سطر اول خروجی شما باید به شکل زیر باشد:
| family_name | name| times_won |
| --- | ---| --- |
| Lineker| Gary| 1|
</details>
## 2) سوال دوم
سینا قصد دارد عملکرد کشورها در تاریخ جام جهانی فوتبال را بر اساس یک سیستم امتیازدهی خاص ارزیابی کند.
طبق این سیستم، به تیم قهرمان هر دوره ۴ امتیاز، تیم نایبقهرمان ۳ امتیاز، تیم سوم ۲ امتیاز و تیم چهارم ۱ امتیاز دریافت میکند. سینا مجموع امتیاز هر کشور را در تمامی دورههای جام جهانی محاسبه کرده و در پایان، فهرستی از ۱۰ کشور برتر از لحاظ مجموع امتیاز ارائه میدهد.
همچنین او تأکید دارد که نتایج "آلمان غربی" (West Germany) باید با "آلمان" (Germany) یکی در نظر گرفته شود.
خروجی مورد انتظار، جدولی شامل دو ستون با نامهای "team_name" و "total_score" است که در آن کشورها بر اساس مجموع امتیاز به صورت نزولی مرتب شدهاند.
در صورتی که دو یا چند کشور امتیاز برابر داشته باشند، اولویت با ترتیب حروف الفبای نام کشور به صورت صعودی است. جدول نهایی باید دقیقاً شامل ۱۰ ردیف باشد.
<details class="blue">
<summary>
*توضیحات در مورد Query دوم*
</summary>
2 سطر اول خروجی شما باید به شکل زیر باشد:
| team_name | total_score |
| --- | --- |
| Germany | 37 |
| Brazil | 32 |
</details>
## 3) سوال سوم
پنج تورنمنت با بیشترین تعداد کارت قرمز را به همراه سال برگزاری نمایش دهید. ردیفها باید مرتبشده نزولی بر اساس تعداد کارت قرمز و صعودی بر اساس شناسهٔ تورنمنت باشند.
<details class="blue">
<summary>
*توضیحات در مورد Query سوم*
</summary>
2 سطر اول خروجی شما باید به شکل زیر باشد:
| tournament_id| tournament_year| red_card_count|
| --- | ---| --- |
| WC-1998| 1998| 18|
</details>
## 4) سوال چهارم
برای تحلیل عملکرد مربیان در رقابتهای جام جهانی، نیاز است فهرستی از ۱۱ مربی برتر از نظر مجموع امتیازات کسبشده تهیه شود. در این ارزیابی، هر برد معادل ۳ امتیاز، هر تساوی معادل ۱ امتیاز، و باخت بدون امتیاز در نظر گرفته میشود.
کوئریای بنویسید که بر اساس این معیار، مربیانی را که بیشترین امتیاز را در تاریخ جام جهانی کسب کردهاند، شناسایی کند. خروجی باید شامل دو ستون زیر باشد:
+ `full_name`: نام کامل مربی که از ترکیب نام و نام خانوادگی با یک فاصله ایجاد شده است.
+ `total_score`: مجموع امتیازات کسبشده توسط مربی.
ترتیب نتایج باید به صورت نزولی بر اساس `total_score` و در صورت برابر بودن امتیاز، به صورت نزولی بر اساس `full_name` باشد.
**دقت کنید که تنها ۱۱ نفر اول باید در خروجی نمایش داده شوند.**
<details class="blue">
<summary>
*توضیحات در مورد Query چهارم*
</summary>
3 سطر اول خروجی شما باید به شکل زیر باشد:
| full_name | total_score |
| --- | --- |
| Helmut Schön | 53 |
| Luiz Felipe Scolari | 49 |
| Mário Zagallo | 44 |
</details>
## 5) سوال پنجم
هر تیم در مرحلهٔ حذفی چند گل زده است؟ فقط تیمهایی که مجموع گلهایشان در این مرحله بیش از ۱۰ باشد را نمایش دهید و بر اساس گل، نزولی و در صورتی که تعداد گل دو تیم مساوی بود بر اساس شناسهٔ تیم به صورت صعودی مرتب کنید.
<details class="blue">
<summary>
*توضیحات در مورد Query پنجم*
</summary>
3 سطر اول خروجی شما باید به شکل زیر باشد:
| time_id| total_goals |
| --- | --- |
| T-09 | 95|
| T-28 | 65|
| T-39 | 59|
</details>
## 6) سوال ششم
هدف این بخش، استخراج فهرستی از ۲۰ بازیکن با بیشترین سن، در زمان حضور در یک مسابقه است. سن بازیکنان باید بر حسب روز محاسبه شود.
کوئریای بنویسید که اطلاعات زیر را برای این بازیکنان استخراج کند:
+ `full_name`: نام کامل بازیکن که با ترکیب نام و نام خانوادگی با یک فاصله ایجاد شده است.
+ `match_name`: نام مسابقهای که بازیکن در آن به میدان رفته و مشخصکننده دو تیم حاضر است.
+ `team_name`: نام تیم ملی بازیکن.
+ `tournament_year`: سال برگزاری تورنمنت.
+ `age`: سن بازیکن بر حسب روز در زمان انجام مسابقه.
نتایج باید به صورت نزولی بر اساس ستون `age` مرتب شوند و فقط ۲۰ رکورد اول نمایش داده شود. توجه داشته باشید که یک بازیکن ممکن است بیش از یک بار در این فهرست ظاهر شود.
<details class="blue">
<summary>
*توضیحات در مورد Query ششم*
</summary>
3 سطر اول خروجی شما باید به شکل زیر باشد:
| full_name | match_name | team_name | tournament_year | age |
| --- | --- | --- | --- | --- |
| Essam El Hadary | Saudi Arabia v Egypt | Egypt | 2018 | 16597 |
| Faryd Mondragón | Japan v Colombia | Colombia | 2014 | 15709 |
| Roger Milla | Russia v Cameroon | Cameroon | 1994 | 15379 |
</details>
# **روش پیادهسازی**
در یک فایل با نام `code.sql` کد خود را قرار دهید و آن را فشرده (`zip` ) کنید و در سایت بارگذاری نمایید. کد شما باید به صورت زیر باشد(نام فایل zip مهم نیست).
```sql
-- Section1
your first query here
-- Section2
your second query here
-- Section3
your third query here
-- Section4
your fourth query here
-- Section5
your fifth query here
-- Section6
your sixth query here
```
ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.