背景:
数据表中有编号为1-20的20条记录,有一个排序字段OrderIndex,
其中1/3为0,1/3为1,1/3为2
现象:
每次在sqlserver执行OrderIndex升序查询的sql语句,OrderIndex为0排在前面,现象正常
但是同样的sql语句放在程序中执行,显示的记录排序顺序却和直接在sqlserver中执行不一致,可能OrderIndex为2的记录
会排在0之前,原因不明
解决方案:
排序时除按OrderIndex排序外,同时再按ID排序(ID不会重复),则sqlserver中查询出的记录顺序和程序中获取的记录顺序一致