- - PR -
SQL SERVER で 先頭データを取得する方法
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-02-01 23:41
初めて投稿させていただきます。
SQL Serverを使用して、VB.NET2005でプログラムを作成しています。 SQLのSELECT文でGROUP BYを使用するときグループ化の対象でない項目の先頭のデータを取得するにはどうしたらよいでしょうか? ACCES VBAではFirstを使って SELECT 伝票日付, 伝票区分, Sum(売上金額) , First(伝票摘要) FROM 売上伝票 GROUP BY 伝票日付, 伝票区分 ORDER BY 伝票日付, 伝票区分; という記述ができると思うのですが、同じことをVB.NETでするにはどう記述すればよいでしょうか? ご教授、よろしくお願いします。 |
|
投稿日時: 2008-02-02 01:21
ACCESSにはFIRSTやLASTなど、格納操作をした順番を自動的に保持してくれる
機能があるようですが、これは階層型DBやネットワーク型DBの発想であり、RDBと してはかなり特殊な機能です。 SQL Serverを含め、主要なRDBMSでは、「格納操作の順番をRDBMS側で保持」と いった機能はありません。 利用者側で、格納操作の日時を持つ列を作るとか、シーケンス(SQL Serverでは IDENTITY。ユニークな連番を簡単に生成、管理できる機能)を利用し、MIN関数や MAX関数を使用するといった方法になります。 |
|
投稿日時: 2008-02-03 01:55
忠犬様、回答ありがとうございました。
MAX関数を使って対応することにします。 ありがとうございました。 |
1