나는 다음 표 구조 토론 게시판이 있습니다두 값을 사용하여 MySQL에서 순서를 정의하지만 그 중 하나를 우선하는 방법은 무엇입니까?
이+-------------------------------+
| TABLE: MESSAGES |
+-------------------------------+
| id | int(11) |
+-------------------------------+
| parent | int(11) |
+-------------------------------+
| author | int(11) |
+-------------------------------+
| last_reply | datetime |
+-------------------------------+
| written | datetime |
+-------------------------------+
| title | varchar(256) |
+-------------------------------+
| content | text |
+-------------------------------+
last_reply
의 기본값은 NULL입니다. 스레드가 응답하면 그 안에있는 모든 메시지의 last_reply
은 최종 회신의 datetime으로 설정됩니다.
는 내가 달성하기 위해 노력하고있어 모두 last_reply
및 written
이 고려 될 대화의 순서이지만, last_reply
이 경우 written
이상 priorized 할 위치를 사용할 수 있습니다.
따라서 last_reply
을 사용할 수있는 경우 해당 값을 주문에 사용합니다. 그렇지 않다면 우리는 서면을 사용합니다.
사과의 뜻이 잘못되어 사과드립니다.
내 최고의 기회는 지금까지이있다 :
SELECT *, COALESCE(last_reply,written) AS tmp FROM messages
WHERE parent = 0 ORDER BY written DESC, tmp DESC
이 제대로 작동하지 않습니다.
당신이 내 포인트를 얻을 경우, 올바른 방향 :
덕분에 저를 안내하시기 바랍니다.