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

解決


SQL  2011-09-14 12:19:29  No: 103035  IP: [192.*.*.*]

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 12:50:08  No: 103036  IP: [192.*.*.*]

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

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


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


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

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


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

編集 削除
SQL  2011-09-14 14:38:48  No: 103037  IP: [192.*.*.*]

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

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

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

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

編集 削除