こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

sqliteの表示

データベースについて質問があります。
例えば、humanテーブルにsexというカラムがあり、
そのカラム(男)のみをhtmlページに10個づつ表示し、
2ページには以前までに表示した10個以外の小さい順に10個表示し
3ページには以前までに表示した20個以外の小さい順に10個表示し
4ページ目には・・・
という感じで表示したいのですがどのように書けばいいのですか?

以下、humanテーブル
BEGIN TRANSACTION;
CREATE TABLE IF NOT EXISTS "human" (
"id"INTEGER NOT NULL,
"name"TEXT NOT NULL,
"sex"TEXT NOT NULL,
"age"INTEGER NOT NULL,
"prefecture"TEXT,
"country"TEXT NOT NULL,
PRIMARY KEY("id")
);
INSERT INTO "human" VALUES (1,'中村静香','男',48,'千葉','japan');
INSERT INTO "human" VALUES (2,'中村ゆり','女',45,'埼玉','japan');
INSERT INTO "human" VALUES (3,'本田翼','女',22,'','japan');
INSERT INTO "human" VALUES (4,'本田望結','男',16,'東京','japan');
INSERT INTO "human" VALUES (5,'綾瀬はるか','女',34,'東京','japan');
INSERT INTO "human" VALUES (6,'中村アン','男',38,'','usa');
INSERT INTO "human" VALUES (7,'広瀬アリス','女',26,'東京','japan');
INSERT INTO "human" VALUES (8,'有村架純','男',31,NULL,'usa');
INSERT INTO "human" VALUES (9,'長澤まさみ','女',29,NULL,'uk');
INSERT INTO "human" VALUES (10,'有村藍里','男',18,'埼玉','japan');
INSERT INTO "human" VALUES (11,'吉岡里穂','男',22,'京都','japan');
INSERT INTO "human" VALUES (12,'広瀬すず','男',32,'大阪','japan');
INSERT INTO "human" VALUES (13,'木村綾乃','男',15,'大阪','japan');
INSERT INTO "human" VALUES (14,'篠原涼子','女',45,'京都','japan');
INSERT INTO "human" VALUES (15,'井上真央','男',26,'','uk');
INSERT INTO "human" VALUES (16,'波留','男',19,'埼玉','japan');
INSERT INTO "human" VALUES (17,'柴咲コウ','女',46,'','usa');
INSERT INTO "human" VALUES (18,'米倉涼子','男',44,NULL,'usa');
INSERT INTO "human" VALUES (19,'桐谷美玲','男',32,'千葉','japan');
INSERT INTO "human" VALUES (20,'仲間由紀恵','男',48,'東京','japan');
COMMIT;

投稿日時 - 2020-09-14 09:02:57

QNo.9799182

困ってます

質問者が選んだベストアンサー

取得件数の制限は LIMIT 句を使って指定します。
取得開始位置は OFFSET 句を使って指定します。

最初の10件はOFFSETしないので
SELECT * FROM human WHERE sex = '男' ORDER BY カラム名 LIMIT 10 OFFSET 0;

2ページ目はOFFSETで読み飛ばしたい件数である 10 を指定します。
SELECT * FROM human WHERE sex = '男' ORDER BY カラム名 LIMIT 10 OFFSET 10;

以降OFFSETの値を変えていけばできます。

何が小さい順で出したいのか判らないので並べ替え条件はご自身で考えてください。

投稿日時 - 2020-09-14 09:35:09

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問