連続したデータを取得する

このエントリーをはてなブックマークに追加
はてなブックマーク - 連続したデータを取得する
Share on Facebook
Post to Google Buzz
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip
Share on FriendFeed

テーブル作成

create table integers (i integer NOT NULL PRIMARY KEY);

データ投入

insert into integers (i) values (0);

insert into integers (i) values (1);

insert into integers (i) values (2);

insert into integers (i) values (3);

insert into integers (i) values (4);

insert into integers (i) values (5);

insert into integers (i) values (6);

insert into integers (i) values (7);

insert into integers (i) values (8);

insert into integers (i) values (9);

とりあえず連続した2桁の整数データを30個生成してみる

select 10*t.i+u.i as days

From integers as u

CROSS JOIN integers as t

WHERE

10*t.i+u.i BETWEEN 0 AND 29

order

by days

とりあえず連続した3桁を90個にしてみる

select 100*t.i+10*t.i+u.i as days

From integers as u

CROSS JOIN integers as t

WHERE

10*t.i+
10*t.i+u.i BETWEEN 0 AND 89

order

by days

2007-01-01から連続した日付を31日分取得する

select to_date('2007-01-01','YYYY-MM-DD')+10*t.i+u.i as days

From integers as u

CROSS JOIN integers as t

WHERE

10*t.i+u.i BETWEEN 0 AND 30

order

by days

ふむふむ。PHPで開始日とその月の日数を入れてやればいろいろ使えそうだにゃ(=゚Д゚=))

This entry was posted in DB. Bookmark the permalink.