2010年12月16日 過去Blog

SQLite で抽出データを並び替え

SELECT * FROM テーブル名 ORDER BY フィールド1 DESC, フィールド2 DESC, フィールド3 ASC ;
上記のようにすることで、「テーブル名」という名前のテーブルの全てのデータを「フィールド1」の降順で並べ、「フィールド1」が同値の場合、次の「フィールド2」を降順に並べ、さらに「フィールド2」も同値の場合、「フィールド3」を基準に昇順に並び替えます。 ASC は結果が昇順に並びかえ、 DESC はそれが降順に並ぶかえることを表します。そのどちらも指定されていない場合、 ASC で並び替えられます。

SQLite でランダムにデータを抽出する

まず、SQLite でランダムにデータを取り出す方法
SELECT * FROM entry ORDER BY RANDOM();

SQLite で行数指定(LIMIT)でデータを抽出する

SELECT文では、WHERE句などを指定した場合でも条件に一致する全てのデータを取得します。この取得する件数を制限したい場合にはLIMIT句を使います。書式は以下の通りです。
SELECT カラム名, … FROM テーブル名 LIMIT 行数;
LIMIT句の後に行数を指定すると、取得するデータの行数を指定することができます。指定した行数が取得できるデータの全データの行数よりも多い場合には、単に全てのデータを取得します。 具体的には次のようになります。
select カラム名 from テーブル名  LIMIT 3;
上記のSELECT文では、「テーブル名」のテーブルから、3行分のデータを取得します。上記のように、データの取得開始位置を特に指定しなければ先頭のデータから順にLIMIT句で指定した行数分だけデータを取得します。抽出したデータの中で、3つ目のデータから5つだけデータを取得したいといった場合などは、上記の表記では、対応できません。そのようにデータ取得の開始位置を指定したい場合は、以下のように指定します。 取得を開始する位置を指定 OFFSET句を指定すると取得を開始する行の位置を指定することができます。書式は以下の通りです。
SELECT カラム名, … FROM テーブル名 LIMIT 行数 OFFSET 開始位置;
OFFSET句を使用すると、開始位置に指定した数値の行数分はデータを取得せず、その次の行からデータの取得を開始します。 具体的には次のようになります。
select * from テーブル名 limit 5 offset 2;
上記のSELECT文では3行目のデータから5行分のデータを取得します。 なお、PHPなどと同様に、OFFSET句を使用せずにLIMIT句だけで開始位置を指定することもできます。。
SELECT カラム名, … FROM テーブル名 LIMIT 開始位置, 行数;
LIMIT句の後に「開始位置, 行数」の形式で値を指定します。開始位置の方を先に指定する点に注意して下さい。

この投稿へのコメント

コメントはまだありません。

コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます。
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

CAPTCHA


ピックアップ記事

ABPeoplePickerNavigationControllerのキャンセルボタンを無効にし、新規追加ボタンを実装する

2011年01月17日 過去Blog
viewController内に以下のようにインターフェースを宣言します。 @interface ABPeoplePickerNavigationController (Expose) @property (nonatomic, assign) BOOL allowsCancel; @property (nonatomic, assign) BOOL allowsCardEditing; @end 同じファイル内に、以下のように設定します。 ABPeoplePickerNavigationController *contactsNavController = [[ABPeoplePickerNavigationController alloc] init]; contactsNavController.tabBarItem.title = @"連絡先"; contactsNavController.allowsCancel = NO; contactsNavController.allowsCardEditing = YES; contactsNavController.peoplePickerDelegate=self; …
「ABPeoplePickerNavigationControllerのキャンセルボタンを無効にし、新規追加ボタンを実装する」をはてなブックマークに追加

Drupal 6.2 日本語版でTinyMCE 3.0.7を使う

2011年05月09日 過去Blog
■ダウンロード SourceForge.JP: TinyMCE Japan Project File List http://sourceforge.jp/projects/tinymce-ja/files/ ■アップロード後の作業手順(ダウンロードファイルに同梱されている「はじめに.txt」から引用) 1.TinyMCEモジュールを有効化 [管理セクション} > [モジュール]をクリックし…
「Drupal 6.2 日本語版でTinyMCE 3.0.7を使う」をはてなブックマークに追加

UITableViewのcellにUITextFieldなどのフォームを設置

2011年04月28日 過去Blog
http://d.hatena.ne.jp/tomute/20091120/1258780317 raspberry ketone fresh free sample…
「UITableViewのcellにUITextFieldなどのフォームを設置」をはてなブックマークに追加

SQLite について

2010年12月07日 過去Blog
iPhoneアプリ開発でSQLiteを使う必要があるので、概要を簡単にまとめてみます。 もっと詳しく知りたい方は、SQLite などを参考にしてください。 SQLデータベースの主な役割は、SQLステートメントに従って、データを扱うことです。この目的を達成するために、開発者は2つのことを知っておく必要があります。 …
「SQLite について」をはてなブックマークに追加

iphoneアプリ開発に役立つリンク集

2010年11月19日 過去Blog
iOS Reference Library 日本語に翻訳されたiOSのドキュメントです。 スタンフォードiPhone Application Programming アップルの現役社員による講義(スタンフォード大学の授業)が見られます。 iPhone Application Programming Course (CS 193P) 2010 Winter 講義動画…
「iphoneアプリ開発に役立つリンク集」をはてなブックマークに追加
© graffiti on the web . All rights reserved. WordPress Theme by comfy