|
1 | | -### |
| 1 | +### ПОДУШКИ - [The PADS] |
2 | 2 |
|
3 | 3 | <img src="./art/22.png" alt="solution" > |
4 | 4 |
|
5 | 5 | #### eng: |
| 6 | +Generate the following two result sets: |
6 | 7 |
|
| 8 | +Query an alphabetically ordered list of all names in OCCUPATIONS, immediately followed by the first letter of each profession as a parenthetical (i.e.: enclosed in parentheses). For example: AnActorName(A), ADoctorName(D), AProfessorName(P), and ASingerName(S). |
| 9 | +Query the number of ocurrences of each occupation in OCCUPATIONS. Sort the occurrences in ascending order, and output them in the following format: |
| 10 | + |
| 11 | +There are a total of [occupation_count] [occupation]s. |
| 12 | +where [occupation_count] is the number of occurrences of an occupation in OCCUPATIONS and [occupation] is the lowercase occupation name. If more than one Occupation has the same [occupation_count], they should be ordered alphabetically. |
| 13 | + |
| 14 | +Note: There will be at least two entries in the table for each type of occupation. |
7 | 15 |
|
8 | 16 |
|
9 | 17 | #### рус: |
| 18 | +Сгенерируйте следующие два набора результатов: |
| 19 | + |
| 20 | +Запросите упорядоченный по алфавиту список всех имен в ПРОФЕССИЯХ, сразу за которыми следует первая буква каждой |
| 21 | +профессии в скобках (т. е. заключенная в круглые скобки). Например: AnActorName(A), |
| 22 | +ADoctorName(D), AProfessorName(P) и ASingerName(S). |
| 23 | +Запросите количество вхождений каждой профессии в OCCUPATIONS. |
| 24 | +Отсортируйте вхождения в порядке возрастания и выведите их в следующем формате: |
| 25 | + |
| 26 | +Всего существует [occupation_count] [оккупация]. |
| 27 | +где [occupation_count] — количество вхождений занятия в OCCUPATIONS, а [occupation] — название занятия в нижнем регистре. Если более чем одна профессия имеет один и тот же [occupation_count], они должны быть упорядочены в алфавитном порядке. |
10 | 28 |
|
| 29 | +Примечание. В таблице будет не менее двух записей для каждого вида занятий. |
11 | 30 |
|
12 | 31 |
|
13 | 32 | #### код с коментариями: |
14 | 33 | ```sql |
| 34 | +-- первый запрос |
| 35 | +SELECT /* выбрать данные */ |
| 36 | + CONCAT(name,'(',LEFT(occupation,1),')') AS Name /* столбец */ |
| 37 | +FROM OCCUPATIONS /* из таблицы */ |
| 38 | +ORDER BY name; /* отсортировать по столбцу */ |
15 | 39 |
|
| 40 | +-- второй запрос |
| 41 | +SELECT /* выбрать данные */ |
| 42 | + CONCAT('There are a total of ',COUNT(*),' ',LOWER(occupation),'s.') /* столбец */ |
| 43 | +FROM OCCUPATIONS /* из таблицы */ |
| 44 | +GROUP BY occupation /* сгруппировать */ |
| 45 | +ORDER BY COUNT(*) ASC; /* отсортировать по количеству */ |
16 | 46 | ``` |
17 | 47 |
|
18 | 48 | #### код для hackerrank: |
19 | 49 | ```sql |
| 50 | +SELECT |
| 51 | + CONCAT(name,'(',LEFT(occupation,1),')') AS Name |
| 52 | +FROM OCCUPATIONS |
| 53 | +ORDER BY name; |
20 | 54 |
|
| 55 | +SELECT |
| 56 | + CONCAT('There are a total of ',COUNT(*),' ',LOWER(occupation),'s.') |
| 57 | +FROM OCCUPATIONS |
| 58 | +GROUP BY occupation |
| 59 | +ORDER BY COUNT(*) ASC; |
21 | 60 | ``` |
22 | 61 |
|
23 | 62 |
|
|
0 commit comments