2017-05-13 6 views
1

r.QuestionId- sorted를 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 문자열이 아닌 숫자로 나타납니다.

한 가지 방법은 암시 적 변환을 사용하여 숫자로 값을 변환 : ID가 숫자처럼 보이는

order by (r.QuestionId + 0) ASC 

경우, 당신은 아마 숫자로 선언해야합니다. 여기에는 몇 가지 장점이 있습니다.

  • 정렬시 올바르게 작동합니다.
  • auto_increment을 사용하면 자동으로 값을 설정할 수 있습니다.
  • 항상 4 바이트를 차지하므로 인덱스 및 외래 키 참조에 편리합니다.
+0

thx 많이 참조하십시오. 그것은 당신이 worte로 일했습니다 : 주문 (r.QuestionId + 0) ASC –