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

0

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

SELECT col1 
FROM Table 
WHERE col2 = Y1 
ORDER BY col3 
于 2013-09-09T22:10:23.537 回答