Ich habe SQL-Tabelle, wo ich Spalte DISTANCE (varchar50) habe. Es ist Nummer mit Punkt.SQL MAX-Nummer in einer VARCHAR-typisierten Spalte finden
+----+--------+--------+----------+
| ID | USERID | MONTH | DISTANCE |
+----+--------+--------+----------+
| 1 | 1 | 201707 | 7.25 |
+----+--------+--------+----------+
| 2 | 2 | 201707 | 9.17 |
+----+--------+--------+----------+
| 3 | 2 | 201707 | 10.31 |
+----+--------+--------+----------+
| 4 | 1 | 201706 | 10.08 |
+----+--------+--------+----------+
Ich möchte MAX-Wert von DISTANCE anzeigen. Wenn ich nach Entfernung DESC Auftrag ist das Ergebnis:
SELECT * FROM mytable ORDER BY distance DESC
9.17
7.25
10.31
10.08
Ich versuche, die MAX zu finden, ist aber immer noch nicht richtig
SELECT MAX(distance) AS mvzd FROM mytable
9.17
Wie ich richtig max Distanzwert haben kann, die 10.31
mit dem mitgelieferten sein sollte Beispieldaten ?
ich wie mysql fühlen würde die Zeichenfolge zu einem doppelten, wenn möglich, und dann korrekt angezeigt werden 10,31 gegossen. Sind Sie sicher, dass Sie keine Leerzeichen in der DISTANCE-Spalte haben oder etwas, das mysql daran hindern würde, zu casten? – bassxzero
Können Sie Ihre Spalte in einen Datentyp ändern, der mit Ihren Daten übereinstimmt (wie Dezimalzahlen)? –