Мне нужно посчитать сколько компаний открывается и закрывается каждый год.
В результате у меня должна появиться табличка вида:
date | opened_count | terminate_count
К примеру:
2011 4 5
2012 1 6
И у меня что-то не получается это в один запрос сделать.
Вот структура моей БД:
CREATE table COMPANIES (id int, name VARCHAR(20), reg_date Date, terminate_date Date);
INSERT INTO COMPANIES VALUES (1, 'Apple', '2000-01-01', null);
INSERT INTO COMPANIES VALUES (2, 'Microsoft', '2001-04-11', null);
INSERT INTO COMPANIES VALUES (3, 'Sony', '2002-11-26', null);
INSERT INTO COMPANIES VALUES (4, 'Zyxel', '2004-04-23', null);
INSERT INTO COMPANIES VALUES (5, 'Dell', '2002-04-17', null);
INSERT INTO COMPANIES VALUES (6, 'SpaseX', '2003-05-22', null);
INSERT INTO COMPANIES VALUES (7, 'Gazprom', '2003-05-22', '2013-04-14');
INSERT INTO COMPANIES VALUES (8, 'Avtovaz', '2003-08-12', '2013-01-27');
INSERT INTO COMPANIES VALUES (9, 'Lukoil', '2004-08-12', '2014-09-13');
INSERT INTO COMPANIES VALUES (10, 'Azbuka', '2003-08-12', '2013-12-23');
Вот так я начал делать, но какая-то хрень получается:
select terminate_date as y, count(*) from companies
WHERE terminate_date is NOT null
group by terminate_date
order by Y
Я не нашел как расшарить код БД. Поэтому наверно можно заюзать для теста вот этот сервис
https://sqliteonline.com/