Автор: | Р. Болотаев | Ограничение времени: | 1 сек | |
Входной файл: | test.sql | Ограничение памяти: | 256 Мб | |
Выходной файл: | test.log | |||
Максимальный балл: | 1 |
В психоневрологическом диспансере "Брусничка" каждый пациент считает себя какой-либо исторической личностью. Информация о каждом пациенте занесена в базу данных. Для каждого отделения в этом диспансере требуется выяснить, какая личность наиболее популярная. Если таких личностей несколько, вывести их все.
CREATE TABLE IF NOT EXISTS "Alterego" (
"Id" INTEGER UNIQUE,
"Name" TEXT NOT NULL,
PRIMARY KEY("Id")
);
CREATE TABLE IF NOT EXISTS "Department" (
"Id" INTEGER UNIQUE,
"Head" TEXT,
PRIMARY KEY("Id")
);
CREATE TABLE IF NOT EXISTS "Patient" (
"Id" INTEGER UNIQUE,
"Name" TEXT NOT NULL,
"Age" INTEGER NOT NULL,
"Alterego" INTEGER NOT NULL,
"Department" INTEGER NOT NULL,
FOREIGN KEY("Department") REFERENCES "Department"("Id"),
FOREIGN KEY("Alterego") REFERENCES "Alterego"("Id"),
PRIMARY KEY("Id")
);
Схема БД в UML-нотации:
Результатом выполнения запроса должен быть список кортежей, отсортированный по номеру отделения и имени альтер-эго.
(Department.Id, Alterego.Name, (количество пациентов с этим альтер-эго))
Решение следует представить в виде текстового файла, содержащего единственный SQL-запрос.
Предполагается, что для работы с базой данных используется SQLite3.