2016-04-27 5 views
0

私は何か特定のもののためのカウントを持っているデータベースの行を持っています。 私は私のクエリを実行すると:それは明らかに最初の数に基づいてソートさため質問でASCを正しく返す方法

SELECT * FROM table ORDER BY field ASC LIMIT 1 

私が得る結果は、間違っています。

そうすることになっている結果:

1 
2 
3 
4 
5 
10 

はビーイングを終わる:

1 
10 
2 
3 
4 
5 

フィールドが適切な順序で返されるように私は私のクエリを調整することができますどのように?私は正しい答えを得るためにそれを検索する方法を語る方法がわかりません。

+2

は、列の型は何ですか? – LearningPhase

+2

'LIMIT 1'で6つの値(行)を得ましたか? –

+0

'order by cast(field as int) ' – splash58

答えて

1

私は古くからアルファベットの弦でも同様に動作するトリックがあります。

SELECT * FROM table 
ORDER BY LENGTH(field) ASC, field ASC 

このトリックを学び、あなたは今ORDER BYのマスターだ:D

+0

あなたは私の投票権を持っています!完璧に動作します。 – MrTechie

関連する問題