sql server大数据中查询一条如何提高效率?
例如:一个表中有1000万条数据,主键编号格式为"20140306-0001",如何查询出记录中的最大编号?要效率高的....
例如:一个表中有1000万条数据, 主键编号格式为 "20140306-0001", 如何查询出记录中的最大编号?要效率高的.
展开
1个回答
展开全部
你最好在主键上面建立索引。
select max(SerialNo) from A
select max(SerialNo) from A
追问
MAX是不行的 20140306-9999和20130306-10000两个值 max取的是9999, 而我要得到的应该是10000
追答
你是年月日 加 编号?
可以分割字符串:
分割成日期 和数字 2个部分
select top 1 * from A
order by substring(SerialNo,1,8) desc,cast(substring(SerialNo,10,len(SerialNo)-9) as int) desc
如果要查询每天的最大编号 尝试这样
select substring(SerialNo,1,8) as '日期',max(cast(substring(SerialNo,10,len(SerialNo)-9) as int)) as '当天最大流水号' from A group by substring(SerialNo,1,8)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询