Я хочу рассчитать значение, которое превышает процент от совокупности значений, по каждой группе.SQL: значение выше, чем процентная доля значений
Предположим, у меня есть:
CREATE TABLE project
(
id int,
event int,
val int
);
INSERT INTO project(id,event,val)
VALUES
(1, 11, 43),
(1, 12, 19),
(1, 13, 19),
(1, 14, 53),
(1, 15, 45),
(1, 16, 35),
(2, 21, 22),
(2, 22, 30),
(2, 23, 25),
(2, 24, 28);
Теперь я хочу, чтобы вычислить для каждого идентификатора, что является вал, который будет, например, выше, чем 5%, или 30% от Валу для этого идентификатора.
Например, для ид = 1, мы имеем следующие значения: 43, 19, 19, 53, 45, 35. Таким образом, таблица сопряженности будет выглядеть следующим образом:
19 35 43 45 53
2 1 1 1 1
и Вэл = 20 (выше 19) будет выбрано выше 5% (актуал 2 из 6) строк.
contengency таблица для идентификатором 2 является:
22 25 28 30
1 1 1 1
Мои ожидается выход есть:
id val_5p_coverage val_50p_coverage
1 20 36
2 23 26
val_5p_coverage это значение, вал должен был быть выше, по меньшей мере, 5% Валу в ид.
val_50p_coverage - значение val, которое должно быть не менее 50% от значения val.
Как я могу рассчитать это с помощью SQL?
Поместите свой вопрос в базу данных, которую вы используете. –
Причина, по которой нет ответа, заключается в том, что не ясно, что вы пытаетесь сделать (некоторые ожидаемые результаты будут хорошими) и то, что вы пробовали, что не удалось. Это не «бесплатный консультант, чтобы написать его для вас». – Hogan