SQL: Zählen Sie die Anzahl der Vorkommen in der Ausgabespalte und berechnen Sie einen Prozentsatz basierend auf den Vorkommen
Meine SQL-Abfrage ruft eine Liste der Fehlerbehebungsüberprüfungen für eine Firmware ab, z. def-456 ist ein Ticket, das mich auffordert, einen Firmware-Test für ein Produkt durchzuführen. def-456 hat mehrere Unteraufgaben, in denen die Ergebnisse aufgezeichnet werden. Die Ergebnisse werden aufgezeichnet als: id: abc-123, abc-124, abc-125 usw. (wie in der folgenden Tabelle gezeigt). Diese entsprechenden IDs haben das Ergebnis "bestanden" oder "nicht bestanden". Ich muss zwei Werte berechnen ----> 1. Anzahl der Versuche: Im folgenden Beispiel wäre die Anzahl der Versuche 3/5, es gibt 3 Bestanden und 2 Nicht Bestanden (dh Bestanden / Bestanden + Nicht Bestanden), hier kann ich count verwenden Die Methode () weiß jedoch nicht, wie "/ 5" und 2 angehängt werden sollen. Erfolgsrate beim ersten Versuch: Im folgenden Beispiel ist abc-123 fehlgeschlagen, jedoch wurde abc-124 bestanden, abc-125 ist fehlgeschlagen, jedoch wurde abc-126 bestanden und abc-127 Erfolgreich bestanden, bedeutet, dass meine Erfolgsquote 1 von 3 ist (dh 1/3). Wie kann ich diese Werte in SQL anzeigen? Das ist etwas knifflig und ich kann keine Logik dafür finden.
Hier sind meine Daten für def-456:
value | id|
--------------
fail | abc-123
pass | abc-124
fail | abc-125
pass | abc-126
pass | abc-127
und hier ist o / p ich versuche anzuzeigen:
id | value | attempts| %for attempts | 1st attempt
----------------------------------------------------
abc-123 fail | 3/5 | 60% | 1/3
abc-124 pass | 3/5 | 60% | 1/3
abc-125 fail | 3/5 | 60% | 1/3
abc-126 pass | 3/5 | 60% | 1/3
abc-127 pass | 3/5 | 60% | 1/3