Лабораторные работы (А-13-07) / Ахремцев, Стрельцов / Lab5
.docxЗадание 3
Выдать статистику по вашему государству по следующим специальностям: 0202, 0203, 0205, 0206 (общее число по каждой специальности), а также в каких учебных заведениях и сколько обучается по этим специальностям. Отчет должен начинаться с соответствующего заголовка. Далее четыре таблицы, где каждая таблица начинается с заголовка: СПЕЦИАЛЬНОСТЬ <шифр> - ВСЕГО <цифра> (не равная нулю), а заканчивается перечнем учебных заведений с цифрами, не равными нулю.
select *, COUNT(*) OVER() as Count from gruz as G
join vuz as V on G.vuz_k = V.cod
select G.spec, V.uch_zavedenie, COUNT(*) as Count, SUM(COUNT(*)) OVER() as Sum from gruz as G
join vuz as V on G.vuz_k = V.cod
where G.spec = '080005'
Group by G.spec, V.uch_zavedenie
HAVING COUNT(*) > 0;
select G.spec, V.uch_zavedenie, COUNT(*) as Count, SUM(COUNT(*)) OVER() as Sum from gruz as G
join vuz as V on G.vuz_k = V.cod
where G.spec = '000217'
Group by G.spec, V.uch_zavedenie
HAVING COUNT(*) > 0;
select G.spec, V.uch_zavedenie, COUNT(*) as Count, SUM(COUNT(*)) OVER() as Sum from gruz as G
join vuz as V on G.vuz_k = V.cod
where G.spec = '002201'
Group by G.spec, V.uch_zavedenie
HAVING COUNT(*) > 0;
select G.spec, V.uch_zavedenie, COUNT(*) as Count, SUM(COUNT(*)) OVER() as Sum from gruz as G
join vuz as V on G.vuz_k = V.cod
where G.spec = '000603'
Group by G.spec, V.uch_zavedenie
HAVING COUNT(*) > 0;
Задание 4
Выдать статистику по учебным заведениям вашего государства и только по лицам мужского пола. Отчет должен начинаться с заголовка и цифры - общего количества записей по запросу (всего мужчин). Далее таблица, включающая перечень учебных заведений с цифрами, не равными нулю.
select COUNT(*) as Count from gruz
where gruz.pol = 'М';
select V.uch_zavedenie, COUNT(*) as M_Count from gruz as G
join vuz as V on G.vuz_k = V.cod
where G.pol = 'М'
group by V.uch_zavedenie
having COUNT(*) > 0
Задание 5
Выдать статистику по всем специальностям вашего государства и только по студентам, заканчивающим учебу в 1994 году. Отчет должен начинаться с соответствующего заголовка и цифры - общего количества записей по запросу (всего студентов-выпускников 1994 г.). Далее таблица, включающая перечень шифров специальностей с цифрами, не равными нулю.
select COUNT(*) as Count from gruz
where gruz.gok = '94'
select G.spec, COUNT(*) as Count from gruz as G
join vuz as V on G.vuz_k = V.cod
where G.gok = '94'
group by G.spec
having COUNT(*) > 0