2行

2013-04-18 24 views
0

表:2行

enter image description here

我是新来查询写作。现在我被困在从上面的表中检索2行。 数据将按日期降序排列,仅用于2个不同的topic_id。不会有第三个不同的topic_id。

所以我想检索两个只有不同的topic_id的数据行,每个topic_id的数据都有最近的日期。

其结果将是

enter image description here

尝试sql fiddle

+0

您的结果似乎有3行,前两个确切重复。这是故意的吗? – 2013-04-18 08:01:33

+0

没有多数民众赞成没有delibrate ..但无论如何@sel回答是我正在寻找..thnks回复 – ntstha 2013-04-18 09:25:22

回答

3

http://sqlfiddle.com/#!2/f37963/9

SELECT t1.* FROM temp t1 
     JOIN (SELECT question_id, MAX(`date`) as `date` FROM temp GROUP BY topic_id) t2 
     ON t1.question_id= t2.question_id AND t1.`date`= t2.`date`; 

逻辑是在每个组(子查询)中找到最新的日期,并再次将它与表格连接以检索其他详细信息。

1

使用本

$qry="SELECT * FROM table_name GROUP BY TOPIC_ID ORDER BY DATE desc"; 
+0

这将无法正常工作,因为..我希望所有领域的表 – ntstha 2013-04-18 06:38:11

+0

我编辑了它可以帮助你的代码 – 2013-04-18 07:25:06