문제

Varchar 열이있는 데이터베이스가 있습니다 url. 나는 행을 가져오고 싶어서 url 가치는 다른 행보다 우선 순위가 있지만 date 행 (하강) ORDER BY 'url' DESC, 'date' DESC 알파벳순으로 먼저 주문할 때 작동하지 않을 것입니다. 기본적으로 다음과 같이 보입니다.

테이블:

ID   |    Url    | Date
1    | http://...| 1001
2    |           | 1002
3    |           | 1003
4    | http://...| 1005
5    | http://...| 1004

정렬 :

ID   |    Url    | Date
4    | http://...| 1005
5    | http://...| 1004
1    | http://...| 1001
3    |           | 1003
2    |           | 1002

적절한 Zend 프레임 워크 방법 (또는 적어도 SQL 쿼리)은 무엇입니까?

도움이 되었습니까?

해결책

SQL을 사용하면 ...처럼 ...

URL 필드에서도 널 값을 허용하면 일종의 못 생겼습니다.

SELECT * , IF(LENGTH(url) = 0 OR url IS NULL, 1, 0) AS nourl 
FROM url ORDER BY nourl ASC

이것은 기본적으로 URL 길이가 0보다 크거나 null인지 확인합니다. 그들이 있다면, 그들은 일종의 바닥에 있습니다.

다른 팁

당신은 사용할 수 있습니다 order by field('field_name', value) desc SELECT 문에서.

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