2011-01-13 27 views
1

私は日付と時刻の列を持つデータベースを持っている、ユーザーはコメントを入力します。私は最新の10ポストを取得することができるクエリをしたい。SQL最新の投稿を取得するためのクエリを書く方法

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

最新のデータを取得する方法がわかりません。どんな提案

+1

使用しているデータベースは何ですか? – Chandu

+0

MySQLのおかげで... – user236501

答えて

2

私の答えは、以前のものと多かれ少なかれ類似しており、相違点は部分を注文することだけです。 (@ m.edmondsonへのあなたのコメントに基づいて) 以下は、あなたが望むように時間と日付を注文します。

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

また、プライマリキーがない理由は?

+0

はい、ポストを取得しました。 – user236501

+0

かなり、そうです。 –

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

私は2つの列descを書く方法を日付と時間2列を得た? – user236501

+1

トップ10はmysqlで動作しますか? –

+0

not working .... – user236501

0

「10個の行に制限する」問題への簡単な解決方法は、データベース固有の問題です。したがって、これまでに提示された回答は、特定のDBMSに結びついています。非汎用DBMS固有の方法でこれを行うには、作業するDBのタイプを記述する必要があります。

更新:使用しているDBのタイプがMySQLであることを指定するコメントが追加されています。この場合、LIMIT clauseを追加して結果に10行(LIMIT 10)、日付が降順(ORDER BY date DESC)になるようにクエリを追加すると問題が解決します。