AKSA-EFI/SprintAuswertung

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>SQL</language>
= Spielwiese: Auswertungen von Arbeit für verschiedene Projekte mit SQL GROUP BY, SUM, AVG, ... = 

Wir betrachten in dieser Spielwiese eine Tabelle, in der geleistete Arbeit erfasst wurde, aufgeschlüsselt nach verschiedenen Kriterien: 

  +--------+----------+------------+----------------+--------------+-----------+
  | sprint | status   | resolution | project        | story_points | work_done |
  +--------+----------+------------+----------------+--------------+-----------+

Jede Zeile in dieser Tabelle beschreibt eine Aufgabe:

* Sprint: In welchem Projektabschnitt der Arbeitsauftrag erledigt wurde. Sprint 1 und Sprint 2 sind abgeschlossen, Sprint 3 läuft noch.
* Status: new heisst, Arbeitsauftrag ist noch nicht in Bearbeitung. Accepted heisst, Arbeitsauftrag ist in Bearbeitung. Closed heisst, der Arbeitsauftrag wurde abgeschlossen. Sprint 1 und 2 sind abgeschlossen: Hierzu gibt es nur Aufträge im Status closed. Sprint 3 läuft noch, daher können die zugehörigen Aufträge alle Stati haben.
* Resolution: Ob ein Arbeitsauftrag im Status closed erledigt wurde (fixed) oder nicht (wontfix). Bei manchen Arbeitsaufträgen fehlt diese Angabe. 
* Project: Zu welchem Projekt der Arbeitsauftrag gehört.
* Story Points: Schätzung für Aufwand, angegeben in sog. Story Points (eine fiktive Einheit). 0 bedeutet, für den entsprechenden Auftrag gab es keine Schätzung.
* Work Done: Die effektiv geleistete Arbeit, angegeben in Stunden.

<code id="4d0f5784b858a" id="" hidden>
DROP TABLE IF EXISTS work_done_report;
CREATE TABLE work_done_report (
  sprint INT NOT NULL,
  status VARCHAR(20),
  resolution VARCHAR(20),
  project VARCHAR(20),
  story_points INT,
  work_done DOUBLE
);

INSERT INTO work_done_report VALUES (1, 'closed', 'fixed', 'Admin', 0, 64.1);
INSERT INTO work_done_report VALUES (1, 'closed', '', 'Admin', 0, 39);
INSERT INTO work_done_report VALUES (1, 'closed', 'fixed', 'Slytherin', 0, 16);
INSERT INTO work_done_report VALUES (2, 'closed', '', 'Slytherin', 0, 10.8);
INSERT INTO work_done_report VALUES (2, 'closed', 'fixed', 'Gryffindor', 0, 14);
INSERT INTO work_done_report VALUES (3, 'new', '', 'Admin', 0, 13.5);
INSERT INTO work_done_report VALUES (3, 'new', '', 'Admin', 0, 3.6);
INSERT INTO work_done_report VALUES (3, 'new', '', 'Gryffindor', 2, 8.5);
INSERT INTO work_done_report VALUES (1, 'closed', 'fixed', 'Gryffindor', 1, 36);
INSERT INTO work_done_report VALUES (3, 'closed', 'fixed', 'Slytherin', 8, 158.4);
INSERT INTO work_done_report VALUES (3, 'closed', 'wontfix', 'Gryffindor', 5, 0);
INSERT INTO work_done_report VALUES (3, 'closed', 'fixed', 'Slytherin', 2, 14.5);
INSERT INTO work_done_report VALUES (3, 'new', '', 'Gryffindor', 0, 32);
INSERT INTO work_done_report VALUES (2, 'closed', 'fixed', 'Gryffindor', 3, 19);
INSERT INTO work_done_report VALUES (3, 'new', '', 'Slytherin', 0, 5.75);
INSERT INTO work_done_report VALUES (3, 'closed', 'wontfix', 'Slytherin', 5, 0);
INSERT INTO work_done_report VALUES (2, 'closed', 'fixed', 'Slytherin', 13, 14.05);

</code>

== Alle Einträge der Tabelle work_report anzeigen ==
<run id="4d0f5784b85f6" id="">
SELECT * 
FROM work_done_report;
</run>