Php 从第二个查询排序SQL查询
我正在寻找一些关于如何基于单独的行对SQL查询进行排序的帮助。第3列是此处的日期和时间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
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按最新发布时间描述排序请添加实际数据。这样理解这个问题是不可能的。创建具有适当列名的表并添加示例数据。然后为查询的输出创建一个类似的表。然后,几乎没有必要解释任何更新我的问题的东西,希望它足够让我离开。