select abfrage über mehrere spalten

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • select abfrage über mehrere spalten

      ich habe eine tabelle mit 3 spalten in der zahlen gespeichert sind. nun möchte ich einen select durchführen, der mir die datensätze zurückgibt, wobei der datensatz mit der größten zahl zuerst zurückgegeben wird. ich weiß aber nicht in welcher spalte der wert steht.

      im moment behelfe ich mir so, dass ich die werte vor dem schreiben in die datenbank sotiere, so dass der größte wert immer in spalte drei steht und der niedrigste in spalte eins. dann lasse ich sortieren nach spalte 3, dann spalte 2 und dann spalte 1. aber das muss doch einfacher gehen, so dass die zahlen pro datensatz ihre ursprüngliche reihenfolge behalten können. ich hoffe ich habe mich einigermaßen verständlich ausgedrückt.
    • Also bei mir liefert er genau den Output den du dort angibst.

      Dein Beispiel sortiert sich mit sqlite3 ganz brav mit:

      CREATE TABLE a ( a Integer, b integer, c integer);
      select * from a order by max(a,b,c) desc;

      Du musst natürlich angeben, dass du absteigend sortieren willst. Ich gehe aber davon aus, dass du Tante Google gefragt hast, wie man das macht. Dein Problem muss also woanders liegen, und damit wir dir helfen können, musst du das schon etwas genauer umreissen.

      Wobei dein Beispiel leider ehh noch einen Haufen Fragen offen lässt, da z.b. nicht klar ist, was passieren soll, wenn 2 Datensätze den gleichen Maximalwert haben; soll wenn die Spalte mit dem Maximalwert gefunden wurde, nach dieser Spalte sortiert werden, oder läuft die Sortierung in allen Fällen über den Maximalwert des Datensatzes ...

      KG