MySQL Beginung in Count

Guten Morgen,

Weiss jemand, ob es eine möglichkeit gibt, in einem COUNT eine bedingung einzubauen ?

ich habe eine spalte in der ich ein Datum habe und eine Spalte mit daten
Die spalte mit den Daten sind wie folgt aufgebaut
„ziffern+Buchstabe+ziffern,“
die anzahl der ziffern ist immer unterscheidlich sodass sich mit string replace nichts machen lässt,

am besten wäre es, es gäbe sowas wie
„COUNT(WHERE werte LIKE ‚%ABC%‘) AS WertABC, COUNT(WHERE werte LIKE ‚%DEF%‘) AS WertDEF“

mein vorhaben funktioniert wenn ich in meiner abfrage ein normales WHERE nehme, jedoch müsste ich so für jede Art von Datensatz die ich zählen will einen extra query durchführen.

bei ca 600k datensätzen dauert es jedoch zu lange

wenn jemand rat weiss:
vielen dank im Voraus :smile:

Beispiel
Ursprungstabelle:
JAHR |MONAT |ART
2008 |11 |000_R_565
2008 |11 |000_TFB_566
2008 |11 |0300_R_567
2008 |12 |000_TT_568
2008 |12 |0030_TR_569
2008 |12 |000_R_565
2008 |12 |000_TFB_566
2008 |12 |0300_R_567
2008 |12 |000_TT_568
2008 |12 |0030_TR_569
2009 |1 |000_R_565
2009 |1 |000_TFB_566
2009 |1 |0300_R_567
2009 |2 |000_TT_568
2009 |2 |0030_TR_569

Gewüschtes ergebnis:
Jahr |MONAT |ART_R |ART_TFB |ART_TT |ART_TR
2008 |11 | 2 | 1 | 0 | 0
2008 |12 | 2 | 1 | 2 | 2
2009 |1 | 2 | 1 | 0 | 0
2009 |2 | 0 | 0 | 1 | 1

das zählen von einer art bekomme ich hin mit :
SELECT Jahr, MONAT, COUNT(ART) AS ART_R
FROM tbl_xyz
WHERE ART LIKE ‚%_R_%‘
GROUD BY Jahr, Monat
ORDER BY Jahr, MONAT

jedoch nur für eine Art. So müsste ich für jede art eine extra abfrage schreiben.
dies würde aber zu lange dauern (zu viele datensätze)

nun nochmal die frage gibt es die möglichkeit die restlichen Arten die ich zählen will hinten dran zuhängen mit einem COUNT welches nur die datensätze zählt bei denen die bedingung zutrifft?

Lösung
Bin gerade auf die Lösung gekommen

also folgendes funktioniert:

COUNT(IF (werte LIKE ‚%ABC%‘,‚JA‘,NULL) ) AS werte_ABC
es zeigt mir zwar noch einen fehler an wengen dem JA was ich genommen habe aber er zählt die werte richtig…

Trotzdem danke falls sich jemand gedanken gemacht hat :smile: