문제

나 PHP 응용 프로그램의 목록을 표시하는 옵션이 사용자.목록에서 생성된 간단한 쿼리에 대한 SQL2000.내가 무엇을 하고 싶은 특정 옵션에서 최고의 목록,그리고 그런 다음 나머지 옵션을 알파벳 순으로 정렬됩니다.

예를 들어,다음의 옵션을 경우 알파벳순으로 정렬:

Calgary  
Edmonton  
Halifax  
Montreal  
Toronto  

내가 좋아하는 것을 더 좋아하는 이:

**Montreal**  
Calgary  
Edmonton  
Halifax  
Toronto  

는 방법이 있는 내가 사용하여 이 작업을 수행할 수 있습 쿼리 하나?나 내가 붙어 쿼리를 실행하는 두 번 추가하는 결과가?

도움이 되었습니까?

해결책

SELECT name
FROM locations
ORDER BY
    CASE
        WHEN name = 'Montreal' 
        THEN 0
        ELSE 1
    END, name

다른 팁

SELECT name FROM options ORDER BY name = "Montreal", name;

참고:이와 함께 작동 MySQL,지 SQL2000 같이 OP 요청합니다.

create table Places (
    add Name varchar(30),
    add Priority bit
)

select   Name
from     Places
order by Priority desc,
         Name

나는 유사한 문제에 웹 사이트 내 전체의 경우에 보고합니다.내가 원하는 사례 보고서는 피해자의 이름이 알려진 상단에 정렬하기 때문에,그들은 더 강력한 있습니다.반대로 내가 원하는 모든 John Doe 경우 아래에 있습니다.이 때문에도 관여하는 사람들의 이름,I had firstname/lastname 정렬 문제 뿐만 아니라.내가 하고 싶지 않았으로 분할 두 가지 이름 필드기 때문에 어떤 경우에 없는 사람들이다.

나의 솔루션:

나는"이름"는 분야가 무엇이 표시됩니다.나는 또한"NameSorted"필드에 사용되는 모든 쿼리를 처리하기는 하지만 절대로 표시 됩니다.내 입력 UI 돌로 변환하"마지막으로,처음"입력으로 정렬 필드 표시 버전 자동으로 합니다.

마지막으로,하"의장"이 정렬을 나는 단순히 넣고 적절한 캐릭터의 시작 부분에서 정렬 필드입니다.이후 나는 물건을 성공적으로 마무리하는 데 큰 역할을 끝,나는"zzz"처음에.을 종류에 당신을 위로할 수 있었을 넣어"!"처음에.다시 귀하의 편집 UI 돌볼 수 있습니다.

그렇다,나는 그것의 비트 도토하지만,그것은 작동합니다.장점 중 하나는 나를 위해 내가 할 일이 더 복잡한 쿼리를 조 다른 장소에서 페이지를 생성하는 대 RSS 등,그리고 내가야 하지 않는 것을 기억하고 복잡한 표현을 얻을 오른쪽 정렬,그는 항상 그 정렬에 의해"NameSorted"다.

클릭 내 프로파일을 참조 결과이다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top