Ilja: MySQL Abfrage - COUNT

Beitrag lesen

moin,

Das klappt auch wunderbar.

bedinkt, das DISTINCT ist schon mal überflüssig, du benutzt eine gruppierung über die region spalte, da kann es keine "doppelte" werte geben. ändere count(region) in COUNT(*), region musst du nicht klammern, ist überflüssig.

Nun möchte ich die Datenbank um die Felder region_2 und region_3 erweitern.
Wie kann ich nun abfragen, wie oft (Summe) "Tegernsee" in  Feld region ODER region_2 ODER region_3 vorkommt.

läßt vermuten, dass dein design unglücklich gewählt ist. wenn es dir aber nur um die ausgabe von Tegernsee geht, läßt sich ein work-around finden. das ist aber imer ein wenig häßlich.

SELECT COUNT(CASE WHEN region = 'Tegernsee' THEN '1' ELSE NULL END) AnzahlRegion,
       COUNT(CASE WHEN region_2 = 'Tegernsee' THEN '1' ELSE NULL END) AnzahlRegion_2,
       COUNT(CASE WHEN region_3 = 'Tegernsee' THEN '1' ELSE NULL END) AnzahlRegion_3
FROM meinetabelle
WHERE status BETWEEN '1' AND '10'
;

Ilja