2011-05-09 2 views
4

결과 . 그러나이 쿼리의 결과는 순서대로 있지 않습니다. 나는 그들 모두가 한 쿼리에서 결과가 나타나는 순서 (오름차순)로 나타나기 때문에 추측하고 있습니다.문제 I은 다음처럼 내파 ID 배열을 구성하고 사용이 배열 쿼리

이 문제를 해결할 방법이 있습니까? (내가 할 수있는 분야를 포함하여 제외)

많은 감사합니다.

+0

order by 절을 사용하고 싶습니까? – Eineki

답변

8

이 예를 살펴보십시오. field() 함수를 사용해야합니다.

SELECT * FROM item_bank_tb WHERE item_id IN(1,3,2) 
order by field(item_id,1,3,2) 

이렇게하면 원하는 순서대로 항목을 가져올 수 있습니다. 특정 순서로 반환 SQL 쿼리의 행을 원하는 경우

+0

환상적인 사람 바로 여기! 고마워요. – buymypies

+0

다행입니다. :) –

0

진심으로, ORDER BY item_id

+2

그들은 단순히 오름차순 또는 내림차순이 아닌 "특정"순서입니다. – Notinlist

+0

다음 중 하나에 일종의 정렬 알고리즘을 쓸 수 있습니다. 또는 MySQL 구문에서 MySQL의 백분위 기반 순위 알고리즘을 몇 달 전에 수행했습니다. :) 비교적 슬!습니다! – James

0

를 추가로 문제가 무엇인지, 당신은 쿼리에 ORDER BY를 포함해야합니다.

+1

당신도 그것을 놓쳤습니다 : - D – Notinlist

0

ORDER BY을 사용하여 결과를 정렬하십시오. ORDER BY DESC (높은 값에서 낮은 값으로 내림차순) 또는 ORDER BY ASC (낮은 값에서 높은 값으로 오름차순) 중 하나를 사용할 수 있습니다. 자세한 내용은 여기

SELECT colName,colEmail FROM tblUsers ORDER BY id ASC 

읽기 : (그것은 너무 많은 데이터가있는 경우)

http://www.w3schools.com/sql/sql_orderby.asp

0

당신은 "주문자"temporay 테이블을 구성 할 수 있습니다 대신 ID 배열 예를 들어

임시 테이블에 ID :
의 순서로 두 값을 입력 한 다음 "주문 순서"로 쿼리 한 다음

+0

동일한 세션에서 다른 쿼리를 처리하는 방법에주의하십시오. –