非常に大きな Sybase IQ テーブルでテキスト データのいくつかのカラムを集計する関数を作成しようとしています。提供されたデータの形式を変更できません。
各行は、テストに少し似たプロセスの値を表します。キーは一意ではなく、値もテキスト文字列であり、「合格」または「不合格」のみになります。
実際のテーブルには、複数の「値」列がある場合がありますが、簡潔にするために 1 つだけを示しています。
ルールは、キーに対してすべてが合格した場合、それは合格です。それ以外の場合は失敗です。理想的な世界では、次のような集計関数を記述できるようになりたいと考えています。
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 ではありません。;-)