はじめに
SQLiteのデータベースからデータを抽出して並び替えて表示する方法を基本から解説します。SELECT文でデータを抽出する基本は既に扱いました。今回はさらに抽出したデータを並び替えて表示します。まずはデータセットの準備からおこなっていきましょう。
データの抽出と並び替え
データセットの準備
まずはデータセットを準備しましょう。これまでデータベースの作成、テーブルの作成、レコードの作成と扱ってきましたが、今回はオープンデータとして公開されているものを利用することにしましょう。
▶ データベースの作成、テーブルの作成、レコードの作成は以下の記事をご覧ください。
SQLiteの公式サイトでサンプルデータが公開されています。今回はこれを使ってみましょう。
参考)SQLite Sample Database And Its Diagram (in PDF format)
リンク先の「Download SQLite sample database」の箇所でzipファイルをダウンロードしましょう。
上記の赤枠の部分をクリックすると「chinook.zip」というファイルをダウンロードすることができます。これを解凍して「chinook.db」ファイルを作業ディレクトリにおいてください。これだけで準備完了です。簡単ですね。このデータセットは以下のような構成になっています。
書式
データの準備が整ったので、書式の確認をおこないましょう。データの抽出はSELECT文を使います。このSELECT文に並び替えに関するオプションをつけます。
このようにデータの抽出の基本で扱ったSELECT文の基本書式のあとに、「ORDER BY」をつけて並び替えを指定します。WHERE文がある場合は、ORDER BYはWHERE文のあとに書きます。ORDER BYはデフォルトでは昇順ですが、DESCを付けることで降順とすることも可能です。
データの抽出と並び替え
では実際にやってみましょう。ダイアグラムを見ると「albums」というテーブルがあるのがわかります。このテーブルで試してみることにしましょう。まず、どのようなデータがあるのか見てみましょう。
SELECT文では「LIMIT」で表示するデータの件数を指定することができます。今回は先頭の10個のデータのみを表示することにしました。「AlbumId」「Title」「ArtistId」というカラムがあるのがわかります。デフォルトでは「AlbumId」順に並んでいますね。
では、「Title」で並び替えてみましょう。
ちゃんと並び替えられてますね。降順も試してみましょう。
今度はTitleが「Z」のものを先頭に並び替えができてますね。
まとめ
今回はSELECT文で並び替えを指定する方法を扱いました。SQLは書式がわかりやすいですね。並び替えはORDER BYで指定します。降順にするときにはDESCです。次回は検索を扱うことにしましょう。
コメント