2016-03-22 18 views
-3

Program ile en son başarılı testleri nasıl alabilirim? Bir itibariyleMySQL - Son başarılı testi göster

+----+---------+----------------+-------+-----------+---------+ 
| ID | Test | Program  | Build | Result | Tester | 
+----+---------+----------------+-------+-----------+---------+ 
| 1 |  1 | Mag. & Speech | 1825 | PASSED | Dale | 
| 2 |  2 | Scr. Reader | 1820 | PASSED | Aadarsh | 
| 3 |  2 | Scr. Reader | 1821 | PASSED | Tony | 
| 4 |  2 | Scr. Reader | 1824 | PASSED | Tony | 
| 5 |  2 | Mag. & Speech | 1820 | PASSED | Colin | 
| 6 |  2 | Mag. & Speech | 1821 | FAILED | Dale | 
| 7 |  2 | Mag. & Speech | 1822 | OF CONCERN| Tony | 
| 8 |  2 | Mag.   | 1820 | PASSED | Steven | 
| 9 |  3 | Scr. Reader | 1820 | NOT TESTED| Aadarsh | 
+----+---------+----------------+-------+-----------+---------+ 

: en son tek en yüksek Yapı numarası vardır ve başarılı tüm ve endişe PASSED edilir Benim tablo şöyle

(orijinal bazı sütunlar hariç) sonuç satırı almak istiyorum (ID) 1,4,7,8. Gördüğünüz gibi, hiçbir program aynı testten daha fazlasına sahip değildir.


Düzenleme: Eklenen tabloya bazı eksik bilgiler. Ne yazık ki Denedim, artık sorgular yok, ama çok uzak sadece Nerede ve By Emri alamadım.

+0

Evet, yapı tarafından sipariş Testi ve Program tarafından gruplama sonra tüm başarılı testleri ve filtrelemek için çalıştı uygun isimde (2 yerlerde) tablo_adı değiştirin. – tuhang

cevap

2

Bu sorgu Ne yazık ki sınırlamalar göre gruplandırmak nedeniyle biraz karmaşık hile

SELECT  t3.* 
    FROM (
     SELECT  t1.ID, 
        MAX(t1.Build) as Build 
      FROM table_name t1 
      WHERE LOWER(t1.Result) NOT IN('n/a', 'not completed', 'not tested') 
     GROUP BY t1.Test, t1.Program 
     ) t2 
INNER JOIN table_name t3 
     ON t3.ID = t2.ID 
     AND t3.Build = t2.Build; 

yapmalıdır.

+0

Evet, haklısınız. Gerekli olmayan bir alt sorguyu kaldırdım. – piotrgajow

+0

Maalesef, hala tamamlanmamış testler alıyorum. – tuhang

+0

Ne demek istiyorsun? Ne tür bir sonuç elde edersiniz? – piotrgajow

İlgili konular