- - PR -
SQLのSELECTで指定分の数のみの読み出し
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-09-13 22:21
お世話になります。
SQLでSELECT文で単に先頭から10件、20件とかその実行時に読み込みたい のですが、どのように書いたらいいのでしょうか? 実際には、WHEREやOrder Byを指定してよみだします。 例えば、下記のようにしたとき、そこにあるすべてを読んできます。これを先頭からWHEREとかの条件でなく数で読み込みを制限したいのですがどのようにしたらできますか? 教えてください。 ASP.NET C#
| ||||
|
投稿日時: 2008-09-13 23:05
limitとか、SQLServerならtopとか・・[ メッセージ編集済み 編集者: shimix 編集日時 2008-09-13 23:07 ] | ||||
|
投稿日時: 2008-09-14 00:19
お世話になります。
SQL Server を使用しているため TOP で目的とすることができました。 ありがとうございます。 ちなみに、ですが、先頭から5番目から10番という途中を抽出することはできますか? よろしければ教えてください。 | ||||
|
投稿日時: 2008-09-14 03:11
さかもとです。
ROWNUMBERを使えば何とかなるかも・・・。 http://blog.livedoor.jp/akf0/archives/51389113.html このような感じで。 試していないのでできなかったらすいません。 ページングなどの処理でコードから指定できるなら(SQL文一発でなければ) http://www.sqlpassj.org/bunkakai/web/series/ado/04.aspx#l4_5 こういう手段もあります。 _________________ ------------------------------------------ 拝啓、さかもとと申します♪ | ||||
|
投稿日時: 2008-09-14 11:50
お世話になります。
とっても興味深いページをご紹介いただきましてありがとうございます。 内容が深そうなので、ちょっと大変そうですが努力の甲斐がありそうです。 ありがとおうございました。 | ||||
|
投稿日時: 2008-09-17 10:39
既に解決されているかとは思いますが遅ればせながら。
Fillメソッドには、int startRecord, int maxRecords が付いたオーバーロードが用意されています。開始位置と最大取得件数を指定するだけで、カスタムページング等がお手軽にできた覚えがあります。パフォーマンスについては検証したことがないので場合により不都合があるのかもしれませんが。 ご参考まで。 |
1