我正在寻找一些关于如何基于单独的行对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
答案 0 :(得分:0)
取出ORDER BY子句中的子查询,它应该可以工作
SELECT col1
FROM Table
WHERE col2 = Y1
ORDER BY col3