Verwendung:
SELECT x.company,
x.year,
x.annual_total
x.annual_total / y.total AS percentage
FROM (SELECT t.company,
YEAR(t.date) as year,
COUNT( * ) as annual_total
FROM TABLE t
WHERE t.company IN ('Medtronic', 'Private')
GROUP BY YEAR( t.date ) ) x
JOIN (SELECT t.company,
COUNT(*) 'total'
FROM TABLE t
WHERE t.company IN ('Medtronic', 'Private')
GROUP BY t.company) y ON y.company = x.company
Wenn Sie den Prozentsatz mit bestimmten Dezimalstellen möchten, verwenden Sie:
CAST(x.annual_total / y.total AS DECIMAL(2,2)) AS percentage
Überprüfen Sie, ob dies die erwartete Anzahl pro Unternehmen ergibt:
SELECT t.company,
COUNT(*) 'total'
FROM TABLE t
WHERE t.company IN ('Medtronic', 'Private')
GROUP BY t.company