wahsaga: problem mit sql abfrage - wer kann mir helfen?

Beitrag lesen

hi,

Ich habe eine Datenbank mit u.a. einer Spalte für die Postleitzahlen. Nun möchte ich eine Abfrage starten, die mir zurück gibt, wieviele Postleitzahlen es jeweils gibt.

Das klappt mit

SELECT plz, count(plz) AS sum FROM tabelle WHERE 1 ORDER BY sum


> ganz gut.  
  
ist aber nicht wirklich korrekt, weil du eine aggregatfunktion ohne GROUP BY benutzt.  
  

> Nun möchte ich in dieser Abfrage aber mich nur auf die ersten beiden Ziffern der PLZ beschränken. Also wieviel von PLZ 97, 36, 01 etc in der Tabelle ist. Mit  
> ~~~
  

> plz LIKE '97___'  
> 

in der SQL Anqeisung mag ich nicht arbeiten, denn dann müsste ich in einer Schleife 99 SQL-Abfragen starten (von PLZ 01 bis 99).

Geht das auch in einer Anweisung?

natürlich.
mysql stellst dir ja auch funktionen zur zeichenkettenverarbeitung zur verfügung, mit denen du nur teile eines feldinhaltes betrachten kannst - LEFT() beispielsweise würde sich hier anbieten.

also die "ersten beiden zeichen" mit COUNT() zählen, und mit GROUP BY nach ihnen gruppieren.

gruß,
wahsaga

--
"Look, that's why there's rules, understand? So that you _think_ before you break 'em."