[date:20050321]の検索結果


SQLのSELECT文を使用して先頭からn件のレコードを取得するだけでなく、n件目からm件目までのレコードを取得することも可能です。

Oracle8i R8.1.5 以降
Oracle8i R8.1.5 以降では、Table1のField1の昇順に11件目から15件目までの結果セットを取得する場合は以下のSQL文で取得できます。

SELECT *
FROM (SELECT *, ROWNUM SEQNUM
FROM (SELECT * FROM Table1 ORDER BY Field1) A) B
WHERE SEQNUM > 10 AND SEQNUM <= 15;

Microsoft SQL Server 7.0 以降
Microsoft SQL Server 7.0 以降ではTOPを使用して、以下のSQL文で Table1の11件目から15件目までの結果セットを取得できます。

SELECT TOP 5 * FROM Table1 A
WHERE NOT EXISTS
(SELECT * FROM (SELECT TOP 10 * FROM Table1) AS B
WHERE A.Field1 = B.Field1)
ORDER BY A.Field1

その他のRDB
また、上記以外のRDBでも以下のSQL文で同様の結果が得られます。

SELECT DISTINCT COUNT(*), A.Field1, A.Field2, A.Field3
FROM Table1 A, Table1 B
WHERE (A.Field1 >= B.Field1)
GROUP BY A.Field1, A.Field2, A.Field3
HAVING COUNT(*) > 10 AND COUNT(*) <= 15


(追記あり)
[149] Posted by kagahiro at 2005/03/21 16:41:09
1 point | Link (11) | Trackback (1) | Comment (0)


「先頭からn件のレコード(結果セット)だけ取得する方法が知りたい。」というのは、データベース関連のメーリングなどで以前からよくある質問ですが、SQL ServerやOracle、MySQL、PostgreSQLなどRDBやバージョンによって利用可能な方法がそれぞれ異なるので簡単にまとめてみました。


Microsoft SQL Server 7.0 以降


Microsoft SQL Server 7.0 以降 では TOP が使用できるので、

SELECT TOP 10 *
FROM Table1
ORDER BY Field1

と記述することによって、先頭から上位10件の結果セットを取得することができます。

Oracle8i R8.1.5 以降


Oracle8i R8.1.5 以降ではサブクエリー内で ORDER BY が使用できるようになったので、例えば Field1 の昇順に上位10件を取得するような場合は、

SELECT *
FROM (SELECT * FROM Table1 ORDER BY Field1) A
WHERE ROWNUM <= 10;

と記述することによって、先頭から10件の結果セットを取得することができます。

MySQL


MySQLの場合は以下のようにLIMIT句を使用することで、指定した位置(先頭からの場合は0)から指定した件数のレコードを取得することができます。

SELECT * FROM Table1
ORDER BY Field1
LIMIT 0, 10;

PostgreSQL


PostgreSQLの場合は以下のようにLIMITとOFFSETを指定することで、
OFFSETで指定した位置から、LIMIT数分のレコードを取得することができます。

SELECT * FROM Table1
ORDER BY Field1
OFFSET 0 LIMIT 10;

その他のRDB


また、不運にも上記以外の RDB を使用しなければならない場合でも、以下のようなSQL文で、Table1 から Field1 の昇順に Field1, Field2, Field3 の結果セットを先頭から10件取得することができます。

SELECT DISTINCT COUNT(*), A.Field1, A.Field2, A.Field3 FROM Table1 A, Table1 B
WHERE (A.Field1 >= B.Field1)
GROUP BY A.Field1, A.Field2, A.Field3
HAVING COUNT(*) <= 10;

(追記あり)
[148] Posted by kagahiro at 2005/03/21 16:34:00
5 point | Link (18) | Trackback (1) | Comment (4)

レンタルサーバー上でPerlのモジュールを利用したCGIを使用するためには、CGIを実行するレンタルサーバーでどのようなモジュールが利用できるかを調べておく必要があります。

Perlがモジュールを探索するディレクトリの一覧は、@INCという配列に入ってるので、この配列の中のディレクトリを表示することで、どんなモジュールが利用可能か知ることができます。

下記のCGIスクリプトは@INCのディレクトリの一覧を表示します。

#!/usr/bin/perl

print "Content-Type: text/html\n\n";
print "Perl Module Search\n";
print "\n";
print "
\n";

foreach $dir (@INC) {
print "$dir
\n";
$dir .= "/*";
@files = <${dir}>;
foreach $mdl (@files) {
print "$mdl
\n";
}
}

print "
\n";
print "\n";

exit;
[146] Posted by kagahiro at 2005/03/21 16:16:11
0 point | Link (4) | Trackback (0) | Comment (0)

レンタルサーバーで自作またはネットなどで配布されているCGIを動かすためには、利用するレンタルサーバーでどのような環境変数が利用できるかを調べる必要があります。以下のPerlスクリプトは使いたいCGIを実行する...
[145] Posted by kagahiro at 2005/03/21 16:11:53
0 point | Link (4) | Trackback (0) | Comment (0)

プロフェッショナルの条件―いかに成果をあげ、成長するか今や唯一の意味ある競争力要因は、知識労働の生産性であり、それを左右するのが知識労働者である。自分の能力を見極め、伸ばすための簡単な方法を著者自らの...
[137] Posted by kagahiro at 2005/03/21 14:49:33
0 point | Link (1) | Trackback (0) | Comment (0)

 

A C++

C++は広く普及しているプログラミング言語であるC言語にオブジェクト指向的な拡張を施したプログラミング言語で、クラスや標準ライブラリである、STL(標準テンプレートライブラリ)を利用することで効率的にプログラム...
[126] Posted by kagahiro at 2005/03/21 15:21:20
0 point | Link (5) | Trackback (0) | Comment (0)

  1  


アクセスランキング

今日のアクセスランキング TOP 10

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (58 PV)
  2. Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (17 PV)
  3. MT4向けオープンソースナンピンマーチンEA「Automaton」 (12 PV)
  4. 裁量トレードを半自動化する無料のMT5向け裁量トレード支援ツール(EA)「PositionKeeper MT5」 #FX (6 PV)
  5. 安全性重視の完全無料ナンピンマーチンEA「Million Dollar(ミリオンダラー)」 #FX #ゴールド #ビットコイン (6 PV)
  6. 「Scalpin」スキャルピングとナンピンマーチンを組み合わせたスキャルピングツール(半手動半自動EA) (3 PV)
  7. Million Dollar(MT4)リアルフォワード(myfxbook) #Gold(XAUUSD) #ナンピンマーチン (3 PV)
  8. 完全無料のMT4向けナンピンEA「Nanpin K(ナンピンケイ)」 (3 PV)
  9. NoteでナンピンマーチンEA「Million Dollar MT5」を販売中 (3 PV)
  10. MySQLのUPDATE文でLIMIT句を使用して上位3件のレコードを更新する (3 PV)

今月のアクセスランキング TOP 10

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (1929 PV)
  2. 安全性重視の完全無料ナンピンマーチンEA「Million Dollar(ミリオンダラー)」 #FX #ゴールド #ビットコイン (307 PV)
  3. Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (275 PV)
  4. MT4向けオープンソースナンピンマーチンEA「Automaton」 (161 PV)
  5. 自作のMT4向け無料EA(口座縛り無し、ブローカー縛り無し、使用期限無し)とゴゴジャン出品中の有料EAの一覧 #MT4 (144 PV)
  6. 完全無料のMT5用ナンピンEA「Nanpin K(ナンピンケイ) MT5」 (142 PV)
  7. [FX]高値更新・安値更新でエントリー、MT4向け無料スキャルピングEA「1Scalper」#システムトレード (136 PV)
  8. MT4向け1ポジアノマリーEA「DAY TRADING」オープンソースライセンス(GPL3)で公開 #ドル円 (127 PV)
  9. 完全無料のMT4向けナンピンEA「Nanpin K(ナンピンケイ)」 (115 PV)
  10. SQLiteのSELECT文で上位 (TOP) n件のデータを取得する (112 PV)

アクセス統計

ディレクトリ

関連サイト