справой стороны
id p1 p2 p3 p4 p5 sum0
101 1 1 0 0 0 3
102 1 1 1 0 0 2
И где вопрос?
разрешаем! считать и складывать
Да, я тоже не против
Не очевиден вопрос? Как?! Все такие юморист прям пипец
5 - (p1 + p2 + p3 + p4 + p5) as sum0 Не? При условии конечно что возможны значения только 0/1.
нюанс, что если 0 1 0 0 0 то нам надо вывести 3
Тогда действительно все сложно: case when p1 = 0 and p2 = 1 and p3 = 0 and p4 = 0 and p5 = 0 then 3 else 5 - (p1 + p2 + p3 + p4 + p5) end
и мы типа не знаем сколько конкретно p считать. Т.е. берем все справа которые до 1
У Вас же выше спросили: - где вопрос? Если возникли такие пожелания, значит Вы неправильно спроектировали БД.
что это значит? Тип никак не посчитать?
Один из основных принципов проектирования БД гласит: нельзя привязываться к порядку столбцов, при этом все столбцы должны быть определены. Вы нарушаете этот принцип. Можно конечно вытянуть из information_schema столбцы и что-то химичить, но это костыль.
вообще это я в pyspark обрабатываю dataframe
Алексей, задай нормально вопрос. Для этого обычно используют язык, русский язык в данном случае. Учти что ответ нужен тебе, так что постарайся, чтобы было понятно.
Тогда на кой сюда вопрос написал?
Не знаю что такое pyspark, но из обрывков предоставленной Вами информации, можно предположить, что структура БД должна выглядеть примерно так: create table table_1 ( table_1_id int primary key ); create table table_2 ( table_1_id int references table_1(table_1_id) not null, parameter_name text not null, parameter_livel int not null, parameter_value int not null ); insert into table_1(table_1_id) values (101),(102),(103); insert into table_2(table_1_id, parameter_name, parameter_livel, parameter_value) values (101, 'p', 1, 1), (101, 'p', 2, 1), (101, 'p', 3, 0), (101, 'p', 4, 0), (101, 'p', 5, 0), (102, 'p', 1, 1), (102, 'p', 2, 1), (102, 'p', 3, 1), (102, 'p', 4, 0), (102, 'p', 5, 0);
ищу каким sql запросом решить
Надо дать структуру таблиц, DDL, и что надо получить
Обсуждают сегодня