Zum Inhalt springen

[MySQL4] GROUP BY mit Strings


kills

Empfohlene Beiträge

Hallo zusammen,

ich habe einen Query, indem ich ein GROUP BY verwende.

Wenn man ein Group by z.b auf ein INT Feld macht, dann addiert er ja diese Werte zusammen. Wie mach ich jetzt aber, bei einem String Feld (varchar), dass er die werte der betroffenen Felder aneinander kettet?

Beispiel mit Int:


SELECT produkt, SUM(preis) FROM bestellung GROUP BY produkt

Jetzt sollten ja alle Produkte einmal ausgegeben werden und der gesamtpreis des ganzen in "preis" stehen (also die preise der einzelnen Produkte aufaddiert) Beispiel mit Varchar:

SELECT produkt, ???(kunde) FROM bestellung GROUP BY produkt

Jetzt sollten ja alle Produkte einmal ausgegeben werden und die Namen der Kunden aneinander gekettet in "kunde" stehen.

Wie stell ich das am besten an?

Gruß,

Markus

Link zu diesem Kommentar
Auf anderen Seiten teilen

das wird mysql selbst nicht können, weil aggregatfunktionen wie SUM nur numerische werte annehmen. ich hab das nur einmal hier gesehen, wo mittels CREATE AGGREGATE FUNCTION eine UDF erstellt wird. nachteil ist halt, dass man das programmieren muss, aber dann als native funktion verwenden kann:

SELECT produkt, group_concat(kunde, ' ') FROM bestellung GROUP BY produkt;

s'Amstel

Link zu diesem Kommentar
Auf anderen Seiten teilen

Beispiel mit Varchar:


SELECT produkt, ???(kunde) FROM bestellung GROUP BY produkt

Jetzt sollten ja alle Produkte einmal ausgegeben werden und die Namen der Kunden aneinander gekettet in "kunde" stehen.

Wie stell ich das am besten an?

Gruß,

Markus

Sorry aber das ist einfach Quatsch. Erstens ist der Name kein PK also wäre die Ausgabe

Milch MüllerMüllerMüllerMüllerSchmitz eh ohne Sinn

Zweitens ist ein Statement ohne einer Where Bedingung und ohne Name als PK nicht performant

Drittens für welche Programmiersprache brauchst du das ? ich kann mir keine Sprache vorstellen, die mit diesem Gewusel der Namen was sinnvolles anfangen könnte.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

das wird mysql selbst nicht können, weil aggregatfunktionen wie SUM nur numerische werte annehmen. ich hab das nur einmal

Danke für den Hinweis, werd ich mir anschauen.

Sorry aber das ist einfach Quatsch. Erstens ist der Name kein PK...

So ein quatsch. Ist doch total egal ob PK oder nicht..

..also wäre die Ausgabe

Milch MüllerMüllerMüllerMüllerSchmitz eh ohne Sinn..

Wer sagt, dass das ganze nicht einfach nur eine Grundidee ist, die ich noch weiter ausbaue... Sicherliche würde da auf jeden Fall noch ein Trennzeichen hineinkommen....

Zweitens ist ein Statement ohne einer Where Bedingung und ohne Name als PK nicht performant
Das ganze war natürlich nur ein Beispiel um das ganze so einfach wie Möglich anschaulich zu mache...

Drittens für welche Programmiersprache brauchst du das ?

Das ganze ist ja wohl total unabhähgig von der Programmiersprache... Aber für dich: Ich verwende PHP. Ich verwende ein Listen-Erstellungs-Framework, das diese Funktionalität nicht so einfach hergibt. Wenn der SQL aber das entsprechende Resultset liefern würde, dann wäre das ganze ohne größere Anpassungen für mich nuztbar...

ich kann mir keine Sprache vorstellen, die mit diesem Gewusel der Namen was sinnvolles anfangen könnte.

Naja in welcher Sprache hat man denn Probleme Strings an einem Trennzeichen aufzuteilen und zu verarbeiten?

@baba007:

Danke für den destruktiven Kommentar. Ist natürlich EINFACH zu Urteilen wenn man die Rahmenbedingungen NICHT kennt...

Danke an Amstelchen für die Mühe!

Gruß,

Markus

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...