[rank:t]の検索結果



「先頭から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;

プログラマのためのSQL 第4版
翔泳社 著者:ジョー・セルコ,Joe Celko


amazon.co.jpのカスタマーレビューを見る
powered by amalink


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

これまで英語版が表示されていたGoogle Finance(グーグルファイナンス)のURL(http://www.google.com/finance)で日本版が表示されるようになってますが、英語版はどうやったら見れるのでしょうか?

いろいろやってみた結果、パラメーターに「?gl=us&hl=en&gws_rd=cr」を追加して、 http://www.google.com/finance?gl=us&hl=en&gws_rd=crというURLでアクセスすると、英語版が表示されるようです。

英語版のグーグルファイナンスも前と変わっているので、リニューアルされたということでしょうか。

Google Finance(グーグルファイナンス)とは

Google Finance(グーグルファイナンス)は、株価情報、金融ニュース(Google Newsと連動)、為替レート、国債金利などが掲載されているGoogleのサイトで、ダウ平均、S&P 500、Nasdaq(ナスダック)のリアルタイムチャートが見ることができる。

Google Finance(グーグルファイナンス)

日本からアクセスした場合は日本版が表示されるが、アメリカからアクセスした場合はおそらく英語版が表示される。

Google Finance(英語版)

日本からアクセスした場合でも英語版(米国版)が表示されるURL。

[2863] Posted by kagahiro at 2017/11/30 22:36:35
5 point | Link (6) | Trackback (0) | Comment (2)

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

SQLパズル 第2版 プログラミングが変わる書き方/考え方
翔泳社 著者:ジョー・セルコ,Joe Celko 価格:2,940円 評価:★★★★★


  • SQLの名著 ★★★★★
  • 待望の新版です ★★★★★

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

将棋ユーチューバーとして有名なクロノさんが、将棋ウォーズの「棋神(ノーマル)」と市販将棋ソフト「将棋神やねうら王」のQhapaq(カッパ)を対局させた動画を配信したことに対し、「ソフト指しを助長する」として...
[2949] Posted by kagahiro at 2018/09/27 12:42:08
2 point | Link (4) | Trackback (0) | Comment (2)

Google News (グーグルニュース)とはGoogle News (グーグルニュース)は、Google社が提供しているコンピュータによって生成されるニュースサイトで、世界中の50000以上のニュース提供元の見出しが集約され同じよう...
[2267] Posted by kagahiro at 2013/02/05 23:35:52
1 point | Link (19) | Trackback (0) | Comment (1)

時間指定で仲値トレードも簡単にできる無料EA「NAKANE3」の最新版(Ver 2.02)を公開しました。最新版では、パラメーターで指定した時間を経過したら損益に関わらず決済する機能、経過時間の分単位指定(デフォルト)...
[3107] Posted by kagahiro at 2020/05/18 17:23:03
2 point | Link (1) | Trackback (0) | Comment (2)

チャンネル登録者数が7000人を超え将棋系ユーチューバーのショウヤンさんが、将棋ウォーズで規約違反の「ソフト指し」をしたことを、自身の配信するユーチューブチャンネルの動画で告白し、将棋ファンの間に衝撃が広...
[2904] Posted by kagahiro at 2018/04/06 09:52:48
13 point | Link (5) | Trackback (0) | Comment (10)

MySQLでは、DELETE文でLIMIT句とORDER BYを使用して上位n件のレコードを削除することができます。削除前にORDER BYで指定した方法で並べ替えられ(ASCは昇順、DESCは降順、省略した場合は昇順)、LIMIT句で指定した行...
[2552] Posted by kagahiro at 2016/05/12 11:11:37
1 point | Link (4) | Trackback (1) | Comment (0)

2017年6月の更新で従来の方法ではGoogle News(グーグルニュース)のRSSを取得することができなくなっていましたが、ようやく最新のGoogle News(グーグルニュース)でRSSを取得する方法がわかりました。日本版では表...
[2852] Posted by kagahiro at 2017/11/26 13:46:19
0 point | Link (4) | Trackback (0) | Comment (0)

1バイト(8bit)の10進数を2進数の文字列に変換するコードのC言語版です。C言語では、PerlやPHPなどのように2進文字列に変換してくれる便利な関数は関数はないので、ビット演算子を使ってビットのオン・オフを判定して...
[2253] Posted by kagahiro at 2012/12/21 17:23:17
0 point | Link (6) | Trackback (0) | Comment (0)

  1 2 3 4 5  次へ >


アクセスランキング

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

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (97 PV)
  2. Google Finance(グーグルファイナンス)日本版が表示されるようになってますが・・・ (7 PV)
  3. SQLのSELECT文でn件目からm件目までのレコードを取得する方法(Oracle、SQL Server、MySQL、PostgreSQL) (6 PV)
  4. [将棋]ユーチューバーのクロノさんが将棋ウォーズ運営からアカウント停止の警告を受ける #ソフト指し #複垢 #アカBAN (5 PV)
  5. Google News (グーグルニュース)日本版 (5 PV)
  6. 時間指定で仲値トレードも簡単にできる無料EA「NAKANE3」の最新版(Ver 2.02) (4 PV)
  7. 有力将棋系ユーチューバーのショウヤンさんが将棋ウォーズで「ソフト指し」を告白し衝撃走る (4 PV)
  8. MySQLのDELETE文でLIMIT句を使用して上位3件のレコードを削除する (4 PV)
  9. 最新のGoogle News(グーグルニュース)日本版のRSSが取得できるURL (4 PV)
  10. [C言語]1バイト(8bit)の10進数を2進数の文字列に変換するコード (3 PV)

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

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (2338 PV)
  2. Google News (グーグルニュース)日本版 (287 PV)
  3. SQLiteのSELECT文で上位 (TOP) n件のデータを取得する (249 PV)
  4. [将棋]ユーチューバーのクロノさんが将棋ウォーズ運営からアカウント停止の警告を受ける #ソフト指し #複垢 #アカBAN (228 PV)
  5. [Perl]UTF-8でエンコードされた文字列の文字数を取得するコード (195 PV)
  6. 最新のGoogle News(グーグルニュース)日本版のRSSが取得できるURL (190 PV)
  7. Google Finance(グーグルファイナンス)日本版が表示されるようになってますが・・・ (176 PV)
  8. 掲示板CGI ThreadPlus 1.1 のリリース (164 PV)
  9. Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (162 PV)
  10. 有力将棋系ユーチューバーのショウヤンさんが将棋ウォーズで「ソフト指し」を告白し衝撃走る (126 PV)

アクセス統計

ディレクトリ

関連サイト