Гость
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Тестовое задание SQL помогите / 8 сообщений из 8, страница 1 из 1
25.10.2020, 22:39
    #40011730
OffSpring228
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тестовое задание SQL помогите
Всем привет!
Прошу в помощи с запросом для БД, только начал изучать SQL.

Есть база данных(скриншот задание):

CREATE TABLE IF NOT EXISTS `cert` (
`type` varchar(200) NOT NULL,
`amount` int(4) NOT NULL,
`year` int(4) NOT NULL
) DEFAULT CHARSET=utf8;
INSERT INTO `cert` (`type`, `amount`, `year`) VALUES
('Квалифицированный', '500', '2018'),
('Неквалифицированный', '90', '2018'),
('Квалифицированный', '300', '2019'),
('Неквалифицированный', '250', '2019'),
('Квалифицированный', '600', '2020'),
('Неквалифицированный', '500', '2020');


Написал:

SELECT type, (SELECT amount FROM cert where year=2018 ) as "2018", amount as "2019", amount as "2020"
FROM cert
group by type

SELECT distinct amount
FROM cert
where year=2018

SELECT type, (SELECT max(amount) FROM cert where year=2018) as "2018",
(SELECT max(amount) FROM cert where year=2019) as "2019",
(SELECT max(amount) FROM cert where year=2020) as "2020"
FROM cert
UNION
SELECT type, (SELECT min(amount) FROM cert where year=2018 limit 1) as "2018",
(SELECT min(amount) FROM cert where year=2019 limit 1) as "2019",
(SELECT min(amount) FROM cert where year=2020 limit 1) as "2020"
FROM cert

select *
from(

SELECT type, (SELECT max(amount) FROM cert where year=2018) as "2018",
(SELECT max(amount) FROM cert where year=2019) as "2019",
(SELECT max(amount) FROM cert where year=2020) as "2020"
FROM cert
UNION
SELECT type, (SELECT min(amount) FROM cert where year=2018 limit 1) as "2018",
(SELECT min(amount) FROM cert where year=2019 limit 1) as "2019",
(SELECT min(amount) FROM cert where year=2020 limit 1) as "2020"
FROM cert

) as result

group by type

Но выводит не все необходимые значения.
Можете помочь с написанием запроса?
...
Рейтинг: 0 / 0
25.10.2020, 23:02
    #40011732
PizzaPizza
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тестовое задание SQL помогите
не туда смотрите
это задание на знание операции pivot
...
Рейтинг: 0 / 0
25.10.2020, 23:32
    #40011737
OffSpring228
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тестовое задание SQL помогите
PizzaPizza,
Как должно быть, можете подсказать?
...
Рейтинг: 0 / 0
25.10.2020, 23:34
    #40011738
fkthat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тестовое задание SQL помогите
Так это вообще не сиквел, а, похоже, U-SQL. С этим, наверное, в соседний форум лучше.
...
Рейтинг: 0 / 0
25.10.2020, 23:54
    #40011743
PizzaPizza
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тестовое задание SQL помогите
Кстати да
limit 1 это может быть MySQL
тогда никакого pivot
...
Рейтинг: 0 / 0
25.10.2020, 23:56
    #40011745
fkthat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тестовое задание SQL помогите
PizzaPizza
это может быть MySQL

Нет, это стопудово U-SQL - язык для работы с Azure Data Lake.
...
Рейтинг: 0 / 0
26.10.2020, 08:35
    #40011769
OffSpring228
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тестовое задание SQL помогите
fkthat,

Это mySQL
...
Рейтинг: 0 / 0
26.10.2020, 09:14
    #40011776
fkthat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тестовое задание SQL помогите
OffSpring228
fkthat,

Это mySQL

А что оно тогда здесь делает?

Модератор: Тема перенесена из форума "Microsoft SQL Server".
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Тестовое задание SQL помогите / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]