Skip to content

Commit 887781d

Browse files
committed
task 51
1 parent a6ab43e commit 887781d

File tree

4 files changed

+50
-2
lines changed

4 files changed

+50
-2
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@
7474
48. Средняя численность населения каждого континента - [Average Population of Each Continent](./tasks/48.md)
7575
49. Отчет - [The Report](./tasks/49.md)
7676
50. Лучшие конкуренты - [Top Competitors](./tasks/50.md)
77+
51. Инвентарь Олливандера - [Ollivander's Inventory](./tasks/51.md)
7778

7879

7980
## В процессе... , будет дополнено)

tasks/51.md

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,55 @@
33
<img src="./art/51.png" alt="solution" >
44

55
#### eng:
6+
Harry Potter and his friends are at Ollivander's with Ron, finally replacing Charlie's old broken wand.
67

8+
Hermione decides the best way to choose is by determining the minimum number of gold galleons needed to buy each
9+
non-evil wand of high power and age. Write a query to print the id, age, coins_needed, and power of the wands that
10+
Ron's interested in, sorted in order of descending power. If more than one wand has same power, sort the result in
11+
order of descending age.
712

813

914
#### рус:
15+
Гарри Поттер и его друзья находятся у Олливандера с Роном, наконец заменяя старую сломанную палочку Чарли.
1016

17+
Гермиона решает, что лучший способ сделать выбор — определить минимальное количество золотых галеонов, необходимое
18+
для покупки каждой незлой палочки большой силы и возраста. Напишите запрос для вывода идентификатора, возраста,
19+
требуемых монет и мощности жезлов, которые интересуют Рона, отсортированных в порядке убывания мощности. Если
20+
несколько жезлов имеют одинаковую силу, отсортируйте результат в порядке убывания возраста.
1121

1222

1323
#### код с коментариями:
1424
```sql
15-
25+
SELECT /* выбрать данные */
26+
id, /* столбец */
27+
age, /* столбец */
28+
coins_needed, /* столбец */
29+
power /* столбец */
30+
FROM WANDS AS W INNER JOIN WANDS_PROPERTY AS P /* из таблицы объединенной с таблицей */
31+
ON W.code = P.code /* по столбцу */
32+
WHERE P.is_evil = 0 AND /* где условие1 и */
33+
W.coins_needed = (SELECT MIN(coins_needed) /* условие 2 */
34+
FROM WANDS AS W1 INNER JOIN WANDS_PROPERTY AS P1
35+
ON W1.code = P1.code
36+
WHERE W.power = W1.power AND P.age = P1.age)
37+
ORDER BY W.POWER DESC, P.AGE DESC; /* отсортировать по */
1638
```
1739

1840
#### код для hackerrank:
1941
```sql
20-
42+
SELECT
43+
id,
44+
age,
45+
coins_needed,
46+
power
47+
FROM WANDS AS W INNER JOIN WANDS_PROPERTY AS P
48+
ON W.code = P.code
49+
WHERE P.is_evil = 0 AND
50+
W.coins_needed = (SELECT MIN(coins_needed)
51+
FROM WANDS AS W1 INNER JOIN WANDS_PROPERTY AS P1
52+
ON W1.code = P1.code
53+
WHERE W.power = W1.power AND P.age = P1.age)
54+
ORDER BY W.POWER DESC, P.AGE DESC;
2155
```
2256

2357

tasks/51.sql

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
SELECT
2+
id,
3+
age,
4+
coins_needed,
5+
power
6+
FROM WANDS AS W INNER JOIN WANDS_PROPERTY AS P
7+
ON W.code = P.code
8+
WHERE P.is_evil = 0 AND
9+
W.coins_needed = (SELECT MIN(coins_needed)
10+
FROM WANDS AS W1 INNER JOIN WANDS_PROPERTY AS P1
11+
ON W1.code = P1.code
12+
WHERE W.power = W1.power AND P.age = P1.age)
13+
ORDER BY W.POWER DESC, P.AGE DESC;

tasks/art/51.png

43.8 KB
Loading

0 commit comments

Comments
 (0)