2017-05-13 5 views
1

私はr.QuestionIdソートgwtしたい。しかし、私は未分類のQuestionIdを得ましたが、私はQuestionId ASCによって注文を述べました。上述コード上記のコードのmysqlから選択(ソート)することによって

SELECT r.QuestionId, 
     s.NAME AS Subject, 
     d.value AS variant, 
     r.Username, 
     r.UserAnswer, 
     r.Correctanswer, 
     r.ExamTimeLine, 
     r.Createtime 
FROM resultlog r 
INNER JOIN test_table t ON t.ID = r.QuestionId 
INNER JOIN subject s ON s.ID= t.SUBJECT 
INNER JOIN DICTIONARY d ON d.ID = t.Variant 
WHERE r.Username LIKE 'Islam Ismayilov' 
    AND r.Createtime > NOW() - INTERVAL 5 MINUTE 
ORDER BY r.QuestionId ASC ; 

結果:

enter image description here

+0

正しいデータ型を使用してください。正規化 – Strawberry

答えて

1

QuestionIdは、文字列ではなく、数あるように思われます。

一つの方法は、暗黙の型変換を使用して、数値に値を変換します

order by (r.QuestionId + 0) ASC 

idは数のように見える場合、あなたはおそらく数としてそれを宣言する必要があります。これにはいくつかの利点があります。

  • ソートで正しく動作します。
  • auto_incrementを使用すると、自動的に値を設定できます。
  • 常に4バイトを占有します。これは、インデックスと外部キー参照に便利です。
+0

thxをたくさん参照してください。それはあなたのように働きました:注文(r.QuestionId + 0)ASC –

関連する問題