我有一个表“Test_Results”,如下所示:
Test_Results
|ID|Test_Name |Status |
|0 | test_1 |passed |
|1 | test_2 |failed |
|2 | test_3 |skipped|
|3 | test_4 |passed |
|4 | test_5 |passed |
|5 | test_1 |passed |
|6 | test_2 |failed |
|7 | test_3 |passed |
|8 | test_4 |failed |
|9 | test_5 |passed |
|10| test_1 |passed |
|11| test_2 |failed |
|12| test_3 |passed |
|13| test_4 |passed |
|14| test_5 |passed |
重要的是test_2的状态始终为“failed”,test_5的状态始终为“pass”。
所以我的问题是如何检索始终具有某种状态的test_names?例如,获取始终失败的测试。
到目前为止,我只想用Java构建对象。 但是不知道如何编写这样的MySQL查询。
感谢。
答案 0 :(得分:0)
要获得一直失败的测试,您可以使用以下语法:
SELECT Test_Name
FROM Test_Results
GROUP BY Test_Name
HAVING
MAX(Status)='Failed'
AND MIN(Status)='Failed'
要获得具有唯一状态(失败或已通过)的测试,您可以使用此查询:
SELECT Test_Name, MAX(Status) AS Status
FROM Test_Results
GROUP BY Test_Name
HAVING COUNT(DISTINCT Status)=1