从第二个查询排序SQL查询

时间:2013-09-09 22:05:36

标签: php sql

我正在寻找一些关于如何基于单独的行对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)

所以对我来说,我想抓住论坛中的所有新帖子,并在帖子中的最后一个帖子发生时(日期/时间)排序,然后显示最近回复最早的回复。< / p>

下面是具有预期结果的实际表格。

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

1 个答案:

答案 0 :(得分:0)

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

SELECT col1 
FROM Table 
WHERE col2 = Y1 
ORDER BY col3