列のDISTANCE(varchar50)を持つSQLテーブルがあります。それはドットで数字です。SQL VARCHAR型の列のMAX番号の検索
+----+--------+--------+----------+
| ID | USERID | MONTH | DISTANCE |
+----+--------+--------+----------+
| 1 | 1 | 201707 | 7.25 |
+----+--------+--------+----------+
| 2 | 2 | 201707 | 9.17 |
+----+--------+--------+----------+
| 3 | 2 | 201707 | 10.31 |
+----+--------+--------+----------+
| 4 | 1 | 201706 | 10.08 |
+----+--------+--------+----------+
DISTANCEのMAX値を表示したいとします。私は、距離DESC ORDER BYの場合、結果は次のとおりです。
SELECT * FROM mytable ORDER BY distance DESC
9.17
7.25
10.31
10.08
は私がMAXを見つけることを試みるが、それでも私は提供して10.31
をあるべき正しい最大距離値を持つことができますどのように
SELECT MAX(distance) AS mvzd FROM mytable
9.17
正しくありません。サンプルデータ ?
私は可能な場合は、二重にあなたの文字列を投じるmysqlのように感じるし、その後正しく10.31を表示します。 DISTANCEカラムにmysqlがキャストできないようなスペースがないかどうか確認してください。 – bassxzero
データを(小数のような)データと一致するデータ型に変更できますか? –