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