MySQL의MySQL에서 목록을 정렬하여 특정 ID가 항상 먼저 나타나도록하려면 어떻게해야합니까?
+----+
| id |
+----+
| 1 |
+----+
| 2 |
+----+
| 3 |
+----+
| 4 |
+----+
어떻게 항상 먼저 보여줍니다 2, 그래서 나는이 목록을 주문합니까? 1, 2, 3, 4가 아닌 2, 1, 3, 4가 출력되어야합니다. 3을 선택하면 3, 1, 2, 4가 출력됩니다.
PHP
확실히SELECT
IF (`id` = 2, -1, `id`) AS `weight`
FROM `table` ORDER BY `weight` ASC;
내가 크리스 '대답처럼, 그것은 최선의 방법입니다 :
$a = mysql_query("SELECT * FROM table ORDER BY ???");
이 내 예제와 같은 일을 수행하지만, 분명히 더 복잡를 사용하는 것입니다 (당신은 뭔가 매일 알아보기). 이것은 데이터베이스 유형 전반에 걸쳐 더 널리 지원됩니까? 아니면 더 복잡한 구문을 사용해야 할 강력한 이유가 있습니까? 나는이 방법에 익숙하지 않다는 것을 인정해야하며 좀 더 자세한 경로의 가치를 알기를 바랍니다. –
@Chris - lucho가 지적했듯이 예제는 삽입 순서 (또는 테이블의 기본 순서)에 따라 달라집니다. 그의 예에서는 작동 할 수도 있지만 일반적인 경우에는 작동하지 않습니다. –