MAX kullanarak mysql verileri seçin

2 Cevap php

Ben böyle bir TESTDATA var:

DROP TABLE SELECT_PASS;
CREATE TABLE SELECT_PASS(ID INT(20),TESTCASE VARCHAR(20),RESULT VARCHAR(20));
INSERT INTO SELECT_PASS VALUES(1,"TC1","PASS");
INSERT INTO SELECT_PASS VALUES(2,"TC2","PASS");
INSERT INTO SELECT_PASS VALUES(3,"TC3","INCONC");
INSERT INTO SELECT_PASS VALUES(4,"TC1","FAIL");
INSERT INTO SELECT_PASS VALUES(5,"TC21","FAIL");
INSERT INTO SELECT_PASS VALUES(6,"TC4","PASS");
INSERT INTO SELECT_PASS VALUES(7,"TC3","PASS");
INSERT INTO SELECT_PASS VALUES(8,"TC2","PASS");
INSERT INTO SELECT_PASS VALUES(9,"TC1","TIMEOUT");


SELECT TESTCASE, MAX(RESULT) FROM SELECT_PASS  GROUP BY TESTCASE;

Ben olsun resultset olduğunu:

TC1 TIMEOUT
TC2 PASS
TC21    FAIL
TC3 PASS
TC4 PASS

Temelde ben geçti asla bu testcases görmek istiyorum.

Bunu yapmak için herhangi bir yolu var mı?

Teşekkürler.

2 Cevap

Bu size herhangi bir geçiş sonuç yok tüm test durumda isimlerini vereceğiz:

SELECT DISTINCT TESTCASE FROM SELECT_PASS
 WHERE TESTCASE NOT IN (SELECT TESTCASE FROM SELECT_PASS WHERE RESULT = 'PASS')

Ben en büyük (veya en düşük) ve MAX sorgu olmak pass ile, sonuç için sayısal değerler kullanmak istiyorum:

SELECT TESTCASE, MAX(RESULT) AS r FROM SELECT_PASS  GROUP BY TESTCASE HAVING r < 999

999 PASS için sayısal bir değer olduğu.