2011-09-04 2 views
1

"만든 날짜"필드가있는 항목 테이블이 있는데 항목을 정렬 할 수있는 방법을 알아 내려고 노력하고 있습니다. 지난 2 주 동안 생성 된 항목이 먼저 표시되고 마지막 2 주 동안 작성되지 않은 항목이 알파벳순으로 정렬되어 나타납니다.MySQL이 날짜 범위를 처음부터 순서대로 정렬 한 후 다른 모든 항목을 다른 기준으로 정렬합니다.

여러 SQL 쿼리를 수행하는 방법을 알고 있지만 가능하면 그렇게하지 않는 것이 좋습니다. 이것을 할 수 있습니까? 당신이 오름차순과 노동 조합 내에서 정렬 내림차순를 모두 적용해야 할 때

답변

3
select * from table 
order by 
case when date_created > curdate() - interval 2 week then 1 else 2 end,item 

업데이트] 답변

(select * from table 
where date_created > curdate() - interval 2 week 
order by date_created desc limit 0,10000000000) 
union all 
(select * from table 
where date_created < curdate() - interval 2 week 
order by item 
limit 0,10000000000) 

LIMIT의 사용이 필요하다.

+0

정말 고마워! – Jake

+0

사실, 첫 번째 섹션을 무언가로 정렬하려면 무엇을 추가해야합니까? 2 주 기간의 항목을 작성한 날짜별로 정렬하려는 경우와 같습니다. – Jake

+0

답변을 업데이트했습니다. –

관련 문제