Для повноти картини вирішив порахувати ще статистику прогулів депутатів попереднього скликання, оскільки вже ця інформація є в RadaWatch.
Для початку потрібно було розібратись із “двійниками” по прізвищу та ініціалам. Найшвидшим виявився такий спосіб:
select name, min(votedate) from (select count(*), name, votesessionid, votedate from individualvote left join votesession on votesession.id = votesessionid group by votesessionid, name having count(*)>1) as t1 group by name;
Результат показує, що крім ЮВТ в поточному скликанні двійників немає (уточнення: не “в поточному скликанні єдиний двійник – ЮВТ”, а “ЮВТ в поточному скликанні – єдиний двійник”):
name | min(votedate) |
Тимошенко Ю.В. | 2014-11-27 12:11:00 |
Отже запит для статистики прогулів буде простий, без вийнятків для окремих депутатів. Метод той самий що і попередньо – прогуляним рахується день, в котрий абсолютно всі голосування депутата відмічені як “відсутній”.
select deputy, allsessions, missedsessions, (missedsessions*100)/allsessions as percent from (select deputy, sum(absv=alv) as missedsessions, count(*) as allsessions from ( select name as deputy, sum(voted='5') as absv, count(*) as alv from individualvote left join votesession on votesession.id = individualvote.votesessionid where votesession.votedate < '2014-11-27' group by date(votesession.votedate), name) as dps group by deputy) as res order by missedsessions/allsessions desc;
Результати: Читати далі