SQL-запрос для печати занятия с именем печати с заказом - PullRequest
0 голосов
/ 16 сентября 2018

Запрос в алфавитном порядке списка всех имен в OCCUPATIONS, за которым сразу же следует первая буква каждой профессии в скобках (т. Е. Заключенная в скобки).

Например:

AnActorName(A), ADoctorName(D), AProfessorName(P), and ASingerName(S)

Запрос количества вхождений каждого занятия в ЗАНЯТИЯХ. Отсортируйте вхождения в порядке возрастания и выведите их в следующем формате:

SELECT name||'('||SUBSTR(occupation, 1, 1)||')'
FROM occupations
ORDER BY name

UNION

SELECT "There are a total of"|| count(*) from occupations group by occupation;

Ответы [ 3 ]

0 голосов
/ 17 сентября 2018

see output

пример ввода и вывода с кодом:

create table ns_occupations(name varchar(20));

insert into NS_OCCUPATIONS values('AActorName');

insert into NS_OCCUPATIONS values('ADoctorName');

insert into NS_OCCUPATIONS values('AProfessorName');

insert into NS_OCCUPATIONS values('ASingerName');


insert into NS_OCCUPATIONS values('ASingerName');

select * from NS_OCCUPATIONS;

SELECT name||'('||SUBSTR(name, 2, 1)||')'  shortname,count(*)  no_of_occupations
FROM ns_occupations
group by name||'('||SUBSTR(name, 2, 1)||')';

output:
ADoctorName(D)  1
AActorName(A)   1
AProfessorName(P)   1
ASingerName(S)  2
0 голосов
/ 04 августа 2019

выберите имя + '(' + left (профессия, 1) + ')' из профессий порядок по имени союз выберите 'Есть всего' + convert (nvarchar, count (профессия)) + '' + профессия + 's.' от занятий группировать по профессии заказ по количеству (род занятий);

0 голосов
/ 16 сентября 2018

ORDER BY должно быть последним предложением при использовании UNION/UNION ALL:

SELECT name||'('||SUBSTR(occupation, 1, 1)||')' AS col
FROM occupations
union
select 'There are a total of'|| count(*) 
from occupations 
group by occupation
ORDER BY CASE WHEN col LIKE 'There are a total%' THEN 1 ELSE 0 END, col;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...