다음과 같은 구조의 제품 표가 있습니다.MYSQL 사례별로 주문
ProductID ProductName ProductType
1 Irrigation 1
2 Landscape 2
3 Sleeving 3
4 Planting 4
지금 내가 잘 같은 작품 MYSQL FIELD 방법을 사용이를 위해 제품 유형 3,2,4,1 의 순서로 반환 행하기 위해 필요한이이 제대로 작동
Select * from product order by FIELD(producttype,3,2,4,1)
,
제 문제는 제품 이름이 producttype 3에 대해 비어 있으면 비어 있지 않은 다음 productname을 가져야하므로 결과 순서는 2,4,1,3이어야합니다.
그래서 첫 번째 조건은 기록
Sleeving 3
Landscape 2
Planting 4
Irrigation 1
그러나 producttype 3 제품명 경우 것이 다음 순서는
Landscape 2
Planting 4
Irrigation 1
3
그리고 producttype에 대한 추가 제품 이름으로 빈 필요가있다 제품 유형의 순서를 다음에있을 필요가있다 2가 비어 있으면 주문이 필요합니다.
Planting 4
Irrigation 1
3
2
그냥 첫 번째 기록을 골라야 해.
이ORDER BY NULLIF(ProductName,'') IS NULL, FIELD(producttype,3,2,4,1)
첫 번째 표현식이 반환됩니다 : 나는 희망
내가이이 규격을 만족 어떤 도움이
시퀀스 순서가있는 열을 추가 할 수 있습니까? 예인 경우, where 절을 통해 빈 이름을 필터링하고 새 시퀀스 열로 정렬해야합니다 (1 –