Bernhard12: Query mit Join auf gleiche Tabelle

Beitrag lesen

Hi,
ich habe eine Tabelle mit 2 Spalten: created und type
type ist ein enum mit Werten 'a' und 'b'; created ein Timestamp.
Ich möchte jetzt ein Select, bei dem die Anzahl von 'a', die Anzahl von 'b', die Summe von 'a'+'b' und die Stunde geholt werden. Sortiert werden soll nach der Summe.
Bisher sieht es so aus:

  
SELECT COUNT(type) as actions, HOUR(created) as hour  
FROM table  
GROUP BY hour  
ORDER BY actions DESC  

Das gibt folgendes zurück:

actions||hour
-------||----
   4   || 18
   3   || 22
   1   || 12
-------||----

wobei actions quasi die Summe aus 'a' und 'b' ist. Nun brauche ich noch zwei Spalten, so dass es wie folgt aus sieht:

actions||hour|| a || b
-------||----||---||---
   4   || 18 || 3 || 1
   3   || 22 || 0 || 3
   1   || 12 || 1 || 0
-------||----||---||---

Dafür bräuchte ich eigentlich nur zwei Subselects à la:

  
SELECT COUNT(type) as a  
FROM table  
WHERE type='a' AND  
HOUR(created)=hour  

und

  
SELECT COUNT(type) as b  
FROM table  
WHERE type='b' AND  
HOUR(created)=hour  

Ich krieg aber dieses Subselect einfach nicht hin.
Bin für Hilfe sehr dankbar.
Gruß