Помогите с оптимизацией запроса:
Тестовый данные:
create table test (id integer, NAME varchar(10));
insert into test (id, name) values (1, 'x');
insert into test (id, name) values (1, 'x1');
insert into test (id, name) values (2, 'z');
insert into test (id, name) values (3, 'a');
insert into test (id, name) values (2, 'z1');
insert into test (id, name) values (2, 'z2');
select NAME, < количество колонок с id = 2 > from test where id = 2;
Результат должен быть:
z 3
z1 3
z2 3
Есть такой вариант:
select NAME,
(select count(*) from test where id = 2) as count_id
from test where id = 2;
но не очень оптимальный.
Посоветуйте пож. другие варианты.
Спасибо за вашу помощь!