別の行に基づいて SQL クエリを並べ替える方法について、ヘルプを探しています。列 3 は日付と時刻です。
Table:
col1 col2 col3 col4
X1 Y1 Z1 X1
X2 Y1 Z1 X2
X3 Y2 Z1 X1
X4 Y2 Z2 X2
X4 Y1 Z4 X4
明らかに機能しない私が今持っているものは次のとおりです。
SELECT col1 FROM Table WHERE col2 = Y1 ORDER BY (Select col3 FROM table WHERE col4=col1 && col2 = Y2)
したがって、私は、フォーラム内のすべての新しい投稿を取得し、スレッド内の最後の投稿が発生したとき (日付/時刻) で並べ替えてから、最も古い返信に対する最新の返信と共にそれらを表示したいと考えています。
以下は、期待される結果を含む実際の表です。
post_id post_type post_time thread_id
1 o 4/29/2013 15:04 1
4 r 4/29/2013 15:05 1
16 o 7/7/2013 20:29 16
17 o 7/7/2013 20:29 17
25 r 9/7/2013 0:10 1
33 r 9/7/2013 12:52 17
34 r 9/7/2013 12:52 1
35 o 9/7/2013 13:12 35
したがって、ここで o/r は、それが新しい投稿 (o) かスレッドへの返信 (r) かを表し、返信の場合、thread_id は返信を元の投稿の post_id に関連付けます。私がする必要があるのは、スレッドを最終投稿時間 (最新のものから最新のものへ) で並べ替えることです。期待される結果は...
35
1
16
17