Php 从第二个查询排序SQL查询

Php 从第二个查询排序SQL查询,php,sql,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 c

我正在寻找一些关于如何基于单独的行对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)的回复,如果是回复,则线程id将回复与原始帖子的帖子id相关联。我需要做的是在最后一次发布之前(从最近到最近)对线程进行排序。所以预期的结果是

35
1
16
17

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

SELECT col1 
FROM Table 
WHERE col2 = Y1 
ORDER BY col3 

但是在第一次选择中,我获取了col2=Y1的所有col1值,然后我想对col2=Y2和col3=col1的结果进行排序,不幸的是,这不起作用。我不认为我完全理解你的问题。据我所见,听起来你需要每个线程的最新帖子,按发布时间排序。也许是这样的<代码>选择max(post_id)作为最新发布id,max(post_时间)作为最新发布时间,按线程id从发布组中选择线程id按最新发布时间描述排序请添加实际数据。这样理解这个问题是不可能的。创建具有适当列名的表并添加示例数据。然后为查询的输出创建一个类似的表。然后,几乎没有必要解释任何更新我的问题的东西,希望它足够让我离开。