반응형
MySql을 사용하여 열을 정렬할 수 있지만 0은 마지막에 올 수 있습니까?
int의 오름차순 열을 기준으로 정렬하고 싶은데 0이 마지막에 와야 합니다.MySql에서 이 작업을 수행할 수 있는 방법이 있습니까?
다음을 시도해 볼 수 있습니다.
SELECT * FROM your_table ORDER BY your_field = 0, your_field;
테스트 케이스:
CREATE TABLE list (a int);
INSERT INTO list VALUES (0);
INSERT INTO list VALUES (0);
INSERT INTO list VALUES (0);
INSERT INTO list VALUES (1);
INSERT INTO list VALUES (2);
INSERT INTO list VALUES (3);
INSERT INTO list VALUES (4);
INSERT INTO list VALUES (5);
결과:
SELECT * FROM list ORDER BY a = 0, a;
+------+
| a |
+------+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 0 |
| 0 |
| 0 |
+------+
8 rows in set (0.00 sec)
다음을 수행할 수 있습니다.
SELECT value, IF (value = 0, NULL, value) as sort_order
FROM table
ORDER BY sort_order DESC
Null 값은 목록에서 삭제됩니다.
SELECT * FROM your_table ORDER BY 0.1/your_field;
다음 쿼리가 유효합니다.
(SELECT * FROM table WHERE num!=0 ORDER BY num) UNION (SELECT * FROM table WHERE num=0)
언급URL : https://stackoverflow.com/questions/3130197/using-mysql-can-i-sort-a-column-but-have-0-come-last
반응형
'programing' 카테고리의 다른 글
현재 날짜를 datetime 형식으로 mySQ 삽입l (0) | 2022.12.10 |
---|---|
PHP를 사용하여 날짜에서 요일을 찾는 방법은 무엇입니까? (0) | 2022.12.10 |
jquery "this"의 첫 번째 아이 쿼리 (0) | 2022.12.10 |
Mysql을 사용하여 마지막으로 삽입된 ID 검색 (0) | 2022.10.31 |
한 MySQL 테이블을 다른 MySQL의 값으로 업데이트합니다. (0) | 2022.10.31 |