1

最大通し番号に対応するレコードを取得したい

slno            date      name

1-22-12-2011-1  1/1/2012  Amrutha
1-22-12-2011-2  1/1/2012  Amrutha
1-22-12-2011-3  1/1/2012  Amrutha

slno に対応するデータを返すクエリが必要です1-22-12-2011-3。私は最後の位置で最大を意味します。クエリを作成するにはどうすればよいですか? 私の DBMS は MySQL です。

4

1 に答える 1

2

次のような同じ形式のデータがあると仮定します1-22-12-2011-1

以下で動作するはずです

SELECT MAX(CONCAT(
           substr(slno,1,1), 
           substr(slno,3,2), 
           substr(slno,6,2),
           substr(slno,9,4),
           substr(slno,14,1)))
as "newslno"
FROM myTable;

slnoこれにより、テーブルから最大限に活用できます

sqlfiddle でのデモ


更新 1

WHEREステートメントにAND条件を追加する必要があると思います...AND name='Amrutha'

SELECT MAX(CONCAT( 
                 substr(slno,1,1), 
                 substr(slno,3,2), 
                 substr(slno,6,2), 
                 substr(slno,9,4), 
                 substr(slno,14,1))) as "newslno" 
FROM u_investment 
WHERE investorcode='0809/ 115' AND name='Amrutha'
于 2012-07-09T10:32:18.350 に答える