programing

어떻게 "순서별" 필터링 순서

copysource 2023. 8. 23. 23:24
반응형

어떻게 "순서별" 필터링 순서

SQL 쿼리를 입력하는 ID에 따라 순서를 지정하기 위해 수행할 수 있는 트릭은 무엇입니까?in조항?

예:

select oh.orderID, oh.orderType, oh.state, oh.orderDateTime
from orderHeaders oh 
where oh.orderID in (
47185154,
47185121,
47184971,
47863101)

나의orderID필드는 다음과 같습니다.

47184971...
47863101...
47185121...
47185154...

어떻게 하면 순서대로 순서대로 결과를 얻을 수 있습니까?WHERE IN (...)필터?

사용할 수 있습니다.field():

select oh.orderID, oh.orderType, oh.state, oh.orderDateTime
from orderHeaders oh 
where oh.orderID in (47185154, 47185121, 47184971, 47863101)
order by field(oh.orderID, 47185154, 47185121, 47184971, 47863101);

절별 순서로 정의할 수 있습니다.

ORDER BY
CASE oh.OrderID 
WHEN '47185154' THEN 1
WHEN '47185121' THEN 2
WHEN '47184971' THEN 3
WHEN '47863101' THEN 4
ELSE 5
END

언급URL : https://stackoverflow.com/questions/42854487/how-do-we-order-by-filtering-order

반응형