Я пытаюсь написать функцию для агрегирования некоторых столбцов текстовых данных в очень большой таблице Sybase IQ. Я не могу изменить формат предоставленных данных.
Каждая строка представляет значение процесса, который немного похож на тест. Ключ не уникален, а значения также являются текстовыми строками, которые будут только «пройдено» или «не пройдено».
В реальной таблице может быть несколько столбцов «Значение», но для краткости я показал только один.
Правило - если все прошло для ключа, то это пропуск. Иначе это провал. В идеальном мире я хотел бы иметь возможность написать функцию агрегации, которая немного похожа на:
count(all(mytable.value == 'pass'))
Вот пример данных:
| Key | Value |
| A | fail |
| A | pass |
| B | pass |
| B | pass |
| B | pass |
| C | fail |
| C | fail |
Агрегированные данные будут выглядеть так:
| Key | Value |
| A | fail |
| B | pass |
| C | fail |
Так есть ли элегантный способ сделать это?
К вашему сведению, Sybase IQ — не обычная Sybase! ;-)
MIN(Value)
иMAX(Value)
и оба они возвращают один и тот же результат, то все отдельные строки также имеют одно и то же значение. - person Damien_The_Unbeliever   schedule 11.11.2013