Announcement

Collapse
No announcement yet.

Feld alphanummerisch zählen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Feld alphanummerisch zählen

    Moin,

    gibt es eine Möglichkeit ein Feld, welches Alpha nummerische Werte enthält, also a,b,c,d,... den "höchsten" Wert zu ermitteln und den nächst höheren zu setzen?

    Nummerisch mache ich es:
    PHP Code:
    // Letzter Datensatz
    $ende_bl=mysql_query("SELECT cnt FROM tabelle ORDER BY cnt DESC LIMIT 1");
    while(
    $row mysql_fetch_array($ende_bl)); 
    Wobei cnt tatsächlich nur ein nummerischer Zähler ist, den jeder neue DS erhält.

    Gruß Franz

  • #2
    Evtl. versuchst du es mal, dass du dein Zeichen in eine ASCII-Wert umwandelst. Diesen könntest du dann mit MAX abfragen.
    http://dev.mysql.com/doc/refman/5.0/...function_ascii
    "A common mistake that people make
    when trying to design something completely foolproof
    is to underestimate the ingenuity of complete fools.
    "
    >>> Douglas Adams, Mostly Harmless
    -------------------------------------------------------
    Techcrawler.de | JaMT | deCHK | Extra-Bonus-Shopping.de | Scour

    Comment


    • #3
      Ermitllung des höchsten Wertes:
      Code:
      SELECT MAX(spalte) FROM Tabelle
      Der nächst höhere Wert ist eigentlich nicht definiertbar
      nehmen wir an der Wert der Spalte wäre "R2D2", dann wäre der nächst höhere Wert
      R2D2000000000000000000000...1

      kind regards
      Jimmy

      Comment


      • #4
        Wenns denn ein numerischer Zähler ist, warum dann nicht

        Code:
        SELECT max(tab.number)+1 
        FROM 
        (
          SELECT TO_NUMBER(cnt) as number
          FROM tabelle
        ) tab
        funktionierte bei mir:

        Code:
        with tabelle as
        (
        SELECT '1' cnt FROM dual
        UNION ALL
        SELECT '2' cnt FROM dual
        UNION ALL
        SELECT '3' cnt FROM dual
        UNION ALL
        SELECT '4' cnt FROM dual
        )
        SELECT max(tab.num)+1 
        FROM 
        (
          SELECT TO_NUMBER(cnt) as num
          FROM tabelle
        ) tab
        Zuletzt editiert von fanderlf; 15.07.2009, 17:53.

        Comment


        • #5
          Moin, moin!

          Vielen Dank für Eure Hinweise, werde mich im Laufe der die nächsten Tage damit auseinander setzen.

          Wenn es keine elegante MySql-Lösung geben sollte, dann bleibt immer noch:
          PHP Code:
          if (tbl.feld == a){echo -> b}
          if (
          tbl.feld == b){echo -> c}
          if (
          tbl.feld == c){echo -> d}
          ... 
          Gruß Franz

          Comment


          • #6
            Achso, das ist einfach zu lösen
            Code:
            SELECT Feld FROM Tabelle WHERE FELD > 'b' LIMIT 1
            würde dir 'c' liefern

            kind regards

            Comment


            • #7
              Originally posted by connection_reset View Post
              Achso, das ist einfach zu lösen
              Code:
              SELECT Feld FROM Tabelle WHERE FELD > 'b' LIMIT 1
              Ja, vielen Dank! :-)
              Einfacher geht's auch kaum noch.
              Da ist der Unterschied zum nummerischen Zählen
              PHP Code:
              SELECT Feld FROM Tabelle ORDER BY Feld DESC LIMIT 1 
              ja nur die Bedingung anstelle des Orders. Ich denke doch immer wieder mal um zu viele Ecken.

              Grüße Franz

              Comment

              Working...
              X