获取与最大序列号对应的记录

时间:2012-07-09 10:14:25

标签: mysql aggregate-functions

我想获得与最大序列号相对应的记录

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。

1 个答案:

答案 0 :(得分: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

Demo at 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'