現在、データベースで最も人気のある記事を3つ探しています。私はそれぞれのタイトルと表示量を印刷したいと思います。私はそうするためにテーブルの2つを一緒に結合しなければならないことを知っている(記事&ログ)。PostgreSQLニュースデータベースで3つの最も人気のある記事を見つける
記事テーブルにはタイトルの列があり、タイトルにはスラッグが1つあります。
ログテーブルには、/ article/'slug'という形式のパス列があります。
これらの2つのテーブルを結合し、記事テーブルのスラッグ列と比較するパスを除外し、カウントを使用して表示回数を表示するにはどうすればよいですか?
使用正しいクエリがあった。
SELECT title, count(*) as views
FROM articles a, log l
WHERE a.slug=substring(l.path, 10)
GROUP BY title
ORDER BY views DESC
LIMIT 3;
これまでに試したことと一緒に、テーブル定義と必要なものの詳細な説明を含める必要があります。言葉で問題をはっきりと説明できない場合は、サンプルデータを追加して必要なものを表示します。 –
Laurenzのコメントを言い換えると:**あなたの質問に**あなたの質問を追加し、そのデータに基づいていくつかのサンプルデータと予想される出力を追加してください。 [**フォーマットされたテキスト**](http://stackoverflow.com/help/formatting)、[スクリーンショットなし](http://meta.stackoverflow.com/questions/285551/why-may-i-not -upload-images-of-code-on-so-asking-a-question/285557#285557)。コメントにコードや追加情報を投稿しない –
元の投稿は、RonaldFindlingのヘルプに基づいて正しい結果を得たクエリで編集されています。ありがとうございました! –