0

次のような時間シーケンスを格納する列を含む mysqlテーブルがあります。

08:00 - 09:00
09:00 - 10:00
07:00 - 08:00
11:00 - 12:00
06:00 - 07:00
...など。

mysqlクエリを作成するとき、この列によって結果を並べ替えたいと思います。ところで、これはvarcharデータ型の列です。

私が望む結果は次のとおりです。

06:00 - 07:00
07:00 - 08:00
08:00 - 09:00
09:00 - 10:00
11:00 - 12:00

これは私が成功せずに試していることです:

SELECT * FROM mytable ORDER BY CAST(mycolumn AS INT) ASC;  

どんな助けでも大歓迎です!

4

1 に答える 1

2

文字列値による列の順序付けにより、必要な結果が生成されます。

SELECT *
FROM mytable
ORDER BY mycolumn ASC;

数値は左側にゼロが埋め込まれているため、文字列や整数と同じ方法で並べ替えられます。

于 2013-09-11T10:54:24.463 に答える