Bastian: MySQL-Spalten addieren

Beitrag lesen

Hallo Vinzenz

Obwohl ich deiner herablassenden Art nichts abgewinnen kann, danke ich dir für die Erläuterung. Damit kann ich was anfangen.

Einen gewissen Grad der Abstraktion beherrsche ich schon. Es ist aber falsch zu meinen, dieser wäre aus dem Nichts einfach da. Ich muss ihn selbst stets weiterentwickeln.

Bei MySQL stosse ich deswegen schnell an Grenzen, weil ich mich noch nicht gut auskenne und weil das Handbuch für Anfänger schlicht nicht geeignet ist.

Grüsse
Bastian

Hallo Bastian,

»» Ja, das Handbuch habe ich natürlich schon konsultiert. Aber ich finde mich nicht zurecht. Das Beispiel für ORDER nach summierten Spalten finde ich nicht.

was soll ich dazu sagen? Ich sprach auch nicht von "summierten Spalten", ich sprach von

»» » ein Beispiel für ORDER BY mit einer berechneten Spalte.

Ist es so schwer, sich die Seite, die ich hier verlinke

»» » »» » Sortieren: dafür gibt es die ORDER-BY-Klausel.

anzeigen zu lassen und anschließend in das Suchfeld des Browsers, das man typischerweise über STRG+F erreicht,

»» » Dort findest Du unterhalb des Textes

den Text

»» »     "The following list provides additional
»» »      information about other SELECT clauses:"

The following list [...]

einzugeben, wenn man schon nicht den gesamten Handbuchabschnitt lesen will? Da das Beispiel *unterhalb* des von mir angegebenen Textes vorkommt, scrollt man etwas nach unten und findet:

<zitat>
     The following list provides additional information about other SELECT clauses:

* A select_expr can be given an alias using AS alias_name. The alias
       is used as the expression's column name and can be used in GROUP BY,
       ORDER BY, or HAVING clauses. For example:

SELECT CONCAT(last_name,', ',first_name) AS full_name
          FROM mytable ORDER BY full_name;

The AS keyword is optional when aliasing a select_expr. The preceding
       example could have been written like this:

SELECT CONCAT(last_name,', ',first_name) full_name
          FROM mytable ORDER BY full_name;
<zitat>

Achtung:

Da ist nicht von "summierten Spalten" die Rede. Dort wird von einer

select_expr

gesprochen, einfach ausgedrückt: "einer berechneten Spalte". Eine Spalte, die die Summe dreier Spalten zurückgibt, ist eine berechnete Spalte. Der einfachste Weg, nach dieser zu sortieren, ist also, dieser Spalte einen Aliasnamen zu verpassen und nach dieser so benannten Spalte (d.h. dem Aliasnamen) zu sortieren, so wie es hier am Beispiel einer Zeichenkettenaddition mit der der CONCAT-Funktion gezeigt wird.

Ersetze im vorliegenden Beispiel

CONCAT(last_name, ', ', first_name)

durch

spalte1 + spalte2 + spalte3

(wobei ich mir sicher bin, dass Deine Spalten nicht so heißen), ersetze weiter

full_name

durch einen angemessenen Spaltennamen Deiner Wahl, zum Beispiel

summe

und Du hast es geschafft (DESC nicht vergessen!).
Diesen Grad an Abstraktion sollte man schon beherrschen, wenn man programmieren will. [*]

Freundliche Grüße

Vinzenz

[*] Es ist klar, dass man manchmal auf dem Schlauch steht. So was passiert.
    Sowas passiert auch mir.