0

別の行に基づいて 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
4

1 に答える 1