MySQL / Datensätze Gruppieren
MiSo
- datenbank
Ich weiss ich soll die Suchfunktion benutzen... hab ich getan. Irgendwas finden, dass ich verstehe und das mir weiterhilft tu ich nicht.
Ich hab sagen wir mal eine Tabelle mit Spalten "Vorname", "Nachname" etc. Jetzt möchte ich gerne "Famlilien" gruppieren. Ich will also ein Array mit jeweils array(Nachname => array("Vorname1","Vorname2")).
Ich habs mit GROUP BY versuchs unt GROUP_CONCAT, aber die machen nicht so ganz das, was ich haben will.
Weiss da jemand nen Rat?
mfg
Micha
yo,
Ich hab sagen wir mal eine Tabelle mit Spalten "Vorname", "Nachname" etc. Jetzt möchte ich gerne "Famlilien" gruppieren.
die frage ist, was verstehst du unter familie, der gleiche nachname wird doch nicht dafür ausreichen oder ?
Weiss da jemand nen Rat?
ja, mit sicherheit. aber dazu bitte version von mysql posten, dein daten-design (der einen oder mehreren benötigten tabellen). beispieldaten, die in den tabellen stehen und die daruas resultierende ergebnismenge, die dabei rauskommen soll.
Ilja
ja, mit sicherheit. aber dazu bitte version von mysql posten, dein daten-design (der einen oder mehreren benötigten tabellen). beispieldaten, die in den tabellen stehen und die daruas resultierende ergebnismenge, die dabei rauskommen soll.
Ilja
MySQL 4.1.13, das mit den Familien warn Beispiel. Mir gehts hauptsächlich um das zusammenfassen unter einer Bestimmten Spalte.
Beispiel:
Baugruppen:
ID | Baugruppe | Bauteil | Stückzahl
1 | Karte XY | Slotblech | 1
2 | Karte XY | Eprom | 1
3 | Karte XY | Flash-sp. | 2
4 | Karte Z | CPU | 1
Jetzt will ich beispielsweise die zu jeder "Baugruppe" dazugehörigen Komponenten. Wie stell ich das an?
Das ergebnis sollte logischerweise auf irgendeine Art und weise ne Auflistung von "Slotblech, Eprom, Flash" mit "Karte XY" in Verbindung bringen.
yo,
Jetzt will ich beispielsweise die zu jeder "Baugruppe" dazugehörigen Komponenten. Wie stell ich das an?
mysql bietet dafür eine sehr nützliche aggregat-funktion an.
http://dev.mysql.com/doc/refman/4.1/en/group-by-functions.html
SELECT baugruppe, GROUP_CONCAT(bauteil ORDER BY bauteil DESC SEPARATOR ',') AS Bauteile
FROM baugruppen
GROUP BY baugruppe
ORDER BY baugruppe
Ilja
Danke. Hab ziemlich lange in Group - Funkionen reingeguckt, aber so wie das da erklärt wurde, hatt ich wohl nicht ganz verstanden, was die Funktion denn nun bewirken sollte :D
mfg
Micha
Nun ja... war mir jetzt doch irgendwie zu dämlich mich mit SQL abzumühen. Habs einfach die Tabelle eingelesen und in ein mehrdimensionales Array gepackt...
sah dann ca. so aus...
$query = mysql_query("SELECT Baugruppe,Bauteil,Stückzahl FROM Baugruppen");
while($raw = mysql_fetch_assoc($query))
{
$baugruppen[ $raw[Baugruppe] ][ $raw[Bauteil] ] = $raw[Stückzahl];
}
print_r($baugruppen);
mfg
Micha
Hi,
Ich hab sagen wir mal eine Tabelle mit Spalten "Vorname", "Nachname" etc. Jetzt möchte ich gerne "Famlilien" gruppieren. Ich will also ein Array mit jeweils array(Nachname => array("Vorname1","Vorname2")).
ich schlage vor SQL-seitig mit einer SORTierung zu kommen und dann mit der serverseitigen Sprache Deiner Wahl das Array zu befüllen.
Killi
Hallo.
Jetzt möchte ich gerne "Famlilien" gruppieren.
Du bist Florist?
MfG, at