SQLを使ってMAX値を求めたい

解決


SQL  2011-09-14 21:19:29  No: 103035

VisualBasic6.0 SP6
WindowsXP SP3
を使っています。

テーブル名:TBL
ID | シリアルNo  |  値
------------------------
1 | 1230000001 | 'A'
2 | 1230000003 | 'B'
3 | 1234000004 | 'A'
5 | 1230100005 | 'A'

というテーブルがあったときに、
値が'A'で、シリアルNoの右6桁のうち最大値を求めたい場合の
SQL文の書き方がわかりません。

こちらで質問してもよいかわかりませんが、どなたか分かる方がいたら教えていただければと思い、質問しました。
よろしくお願い致します。


魔界の仮面弁士  2011-09-14 21:50:08  No: 103036

> SQL文の書き方がわかりません。
SQL には「方言」があるので、どのデータベース製品なのかが
書かれていないことには、具体的な回答はできません。

それにそもそも、VB と関係無いようですし。

> 値が'A'で、
SQL としては WHERE 句で処理できますね。

> シリアルNoの右6桁のうち
数値型であるなら、「1000000 で割った時の余り」で求まります。
文字列型なら、文字列操作関数という事になりますね。

余りの算出方法にしても、文字列操作にしても、データベースによって
使用する演算子や関数が異なります。別途調べてみてください。

> 最大値を求めたい場合
ここは単純に、MAX 集計関数で。


SQL  2011-09-14 23:38:48  No: 103037

魔界の仮面弁士さん
コメントありがとうございます。

DAOというものを使ってSQLを書いています。

SELECT MAX(right(シリアルNo,6)) AS MAXNUM FROM TBL  WHERE 値 = 'K'

としたところ、6桁目までのMAX値を取得することができました。
ありがとうございます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加