1

データベースから最高気温と最低気温を取得したいのですがORDER BY data_temperatureASCorDESCと andSELECT MAX(data_temperature) FROM ...では機能しません。私はとだけ取得10.0ORDER BY data_temperature DESC9.9ASCます。MAX(data_temperature)データがまったく表示されません。

phpMyAdmin で温度を並べ替えると、同じ値が表示されるので、最も暖かい温度までスクロールする必要があり28.6ます。最低気温は5.8です。

これがどのようdata_temperatureに見えるかです:

data_temperature varchar(8) NOT NULL

データベースから最高気温と最低気温を取得するにはどうすればよいですか?

4

3 に答える 3

2

VARCHAR は数値と同じ方法でソートされないため、値を変換する必要があります。

CAST(data_temperature AS DECIMAL(6,2))

必要に応じて ORDER BY でこれを行うことも、MIN/MAX を選択することもできます。

SELECT MAX(CAST(data_temperature AS DECIMAL(6,2)))
      ,MIN(CAST(data_temperature AS DECIMAL(6,2)))
FROM table
于 2013-06-15T12:52:43.320 に答える
0

Varchar が問題です。数値型にキャストします。

--Gets Max Temp
SELECT MAX(Cast(data_temperature AS FLOAT)) FROM TempTable
于 2013-06-15T12:53:07.500 に答える