groupieren und die anzahl der groupierungen ausgeben
Claudia
- datenbank
- mysql
ich habe in meine Datenbank alle Kirchen in Bayern verzeichnet, diese sind unter
id ! name ! ort
abgespeichert.
Wenn ich mir alle orte anzeigen lasse, die eine Kirche haben
SELECT * FROM table GROUP BY ort ORDER BY ort ASC
mache ich das so.
Jetzt würde ich aber gerne noch wissen wie viele Kirchen in den einzelnen Orte sind. Kann ich mir wenn ich groupiere auch die Anzahl der groupierungen anzeigen lassen.
Ich bin schon am verzweifeln.
Hello,
wie Du dir diverse Groupies nebst Anzahl anzeigen lassen kannst, wird hier diskutiert.
Liebe Grüße
Tom S.
@@Claudia
Kann ich mir wenn ich groupiere
Du meinst: croupiere?
LLAP 🖖
Hallo Claudia,
Was du suchst, heißt Gruppenwechsel.
Ob es, weil du ja nur die Anzahl suchst, auch eine inner-sql-Lösung gibt, können dir die Datenbankexperten verraten.
Bis demnächst
Matthias
Hi,
SELECT * FROM table GROUP BY ort ORDER BY ort ASC
Warnung: die meisten DB-Systeme lassen das nicht zu - wenn gruppiert wird, dürfen normalerweise nur die Spalten der Gruppierung selektiert werden und aggregierte Werte. MySQL ist da eine Ausnahme - die Werte, die nicht gruppierend/aggregiert sind, werden zufällig aus einer der beteiligten Zeile genommen, nicht notwendigerweise alle aus derselben Zeile …
SELECT count(*), ort FROM table GROUP BY ort ORDER BY ort ASC
count() ist z.B. eine Aggregatsfunktion.
Mit dieser Query erhältst Du die Orte sowie die Anzahl der Zeilen pro Ort.
Ach ja: erlaubt mysql "table" als Tabellenname? Üblicherweise sind reservierte Worte als Tabellenname nur dann erlaubt, wenn der Tabellenname escaped ist.
cu,
Andreas a/k/a MudGuard
Hello,
SELECT count(*), ort FROM table GROUP BY ort ORDER BY ort ASC
Ach ja: erlaubt mysql "table" als Tabellenname? Üblicherweise sind reservierte Worte als Tabellenname nur dann erlaubt, wenn der Tabellenname escaped ist.
Das gibt selbtverständlich einen Fehler, sogar bei MySQL ;-P
SELECT count(*), `ort` FROM `table` GROUP BY `ort` ORDER BY `ort` ASC;
So wäre es denn erlaubt. Quotierung mit Backticks, nicht mit Apostrophen.
Liebe Grüße
Tom S.
Hallo TS,
Wahrscheinlich ist table hier einfach nur irgendeine Tabelle.
Bis demnächst
Matthias
Hello,
Wahrscheinlich ist table hier einfach nur irgendeine Tabelle.
Da wäre ich jetzt aber nicht drauf gekommen, dass es nur ein Platzhalter sein sollte ;-P
Ich hoffe, der SQL-Parser hat den gleichen Humor!
Vermutlich sind aber genau diese Darstellungsprobleme der Grund dafür, dass man Lehrunterlagen oft erst nach Jahren richtig versteht. Mit Formeln und Schreibweisen in der Mathematik geht mir das auch immer so.
Liebe Grüße
Tom S.
Hi,
Wahrscheinlich ist table hier einfach nur irgendeine Tabelle.
naja, es gibt ja genug Leute, die eine Variable, die ein Array enthält, $array nennen oder eine String-Variable $string …
Da kann table ja durchaus auch mal als Tabellen-Name vorkommen …
cu,
Andreas a/k/a MudGuard
Tach!
Jetzt würde ich aber gerne noch wissen wie viele Kirchen in den einzelnen Orte sind.
Zählen kann man mit COUNT(). Das zählt auch Gruppeninhalte.
dedlfix.