2017-12-03 16 views
1

テスト実行結果を要約するためにmysqlデータベースにクエリしています。私のデータはこのように見えます。 Mysql query to dynamically convert rows to columns:私は何かがこのスレッドで見つけることができる行の発生を動的にカウントして列に変換するMysqlクエリ

+-+------------+------+------ 
id|test_case_id|passed|failed 
+-+------------+------+------ 
1 | 1  | 2 | 0 
+-+------------+------+------ 
2 | 2  | 1 | 2 
+-+------------+------+------ 

最も近い:私はこれを取得するには、このデータを照会するにはどうすればよい

+-+------------+----------------+ 
id|test_case_id|execution_status 
+-+------------+----------------+ 
1 |  1  |  passed 
+-+------------+----------------+ 
2 |  2  |  failed 
+-+------------+----------------+ 
3 |  2  |  passed 
+-+------------+----------------+ 
4 |  1  |  passed 
+-+------------+----------------+ 
5 |  2  |  failed 
+-+------------+----------------+ 

。しかし、私は実行ステータスの発生を合計する必要があるので、私はそれを動作させることはできません。データソースとデスティネーションの考慮事項のために、一時テーブル、動的SQL、またはストアドプロシージャを使用することはできません。どんな助けにも感謝!

答えて

3

条件付き集計を使用できると思います。

select test_case_id, sum(execution_status = 'passed') as passed, 
     sum(execution_status = 'failed') as failed 
from t 
group by test_case_id; 
+0

ああ、少年、私は明らかに欠けている間に、複雑すぎることがありました。ありがとうございました! – atlantis

関連する問題