从第二个查询中对 SQL 查询进行排序


Sorting SQL Query From Second Query

我正在寻找有关如何根据单独的行对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

去掉 ORDER BY 子句中的子查询,它应该可以工作

SELECT col1 
FROM Table 
WHERE col2 = Y1 
ORDER BY col3