2011-01-13 54 views
1

我有一个带日期和时间列的数据库,用户将输入评论。我希望查询能够检索最新的10篇文章。SQL如何编写查询来检索最新的帖子

Select comment from Comment where username = ? and date ... 

我不确定如何比较以得到最新数据?任何建议

+1

什么是您正在使用的数据库? – Chandu 2011-01-13 15:21:36

+0

MySQL谢谢... – user236501 2011-01-13 15:22:40

回答

2

注意我的答案与以前的答案差不多,只是区别在订购部分。 (根据您对@ m.edmondson的评论) 以下将根据您的需要订购时间和日期。

Select comment 
from Comment 
order by Date desc ,time desc LIMIT 10 

另外,为什么你没有主键?

4

SELECT comment FROM Comment ORDER BY date DESC LIMIT 10

这将日期顺序所有意见,并在最近的一次首发,并获得近10项。 (其中“LIMIT”是mySQL,您可能需要根据您的服务器使用“SELECT TOP 10”)

从您的描述(“获取最新的10篇文章”)来看,不需要在查询中包含WHERE username ?。如果你发布你的表结构,这将有所帮助。

1
select top 10 comment 
from Comment 
order by date desc 
+0

我得到日期和时间两列如何写两列desc? – user236501 2011-01-13 15:22:14

0

“限制查询到10行”问题的简单解决方案非常针对数据库。所以,到目前为止提出的答案将使您与特定的DBMS联系在一起。如果您希望使用非通用DBMS特定方式来执行此操作,则需要声明您正在使用的数据库类型。

更新:我看到你已经添加了一条评论来指定你使用的DB类型是MySQL。在这种情况下,添加一个LIMIT clause将您的结果限制为10行(LIMIT 10),并按日期降序排列(ORDER BY date DESC)以解决您的问题。