在DB2中选择显示错误顺序的查询

在DB2中选择显示错误顺序的查询,db2,sql-insert,Db2,Sql Insert,在数据库中插入数据时,即将出现的第三条记录是插入时的第一条记录,第一条记录是第二条,第三条记录是第四条,依此类推 我正在使用以下查询获取数据: SELECT A, B, C, D, E, F FROM MYTABLE WHERE A = 'SOMEPGM' ORDER BY F 如果你有重复的记录 为什么第一条记录会变成结果中的第三条记录?您正在按“MGRSEQ”进行排序,但是有重复的MGRSEQ值的行;您需要指定另一列以获得一致的顺序。没有明确的订购依据条款的订购不受保证。尝试以下方法: S

在数据库中插入数据时,即将出现的第三条记录是插入时的第一条记录,第一条记录是第二条,第三条记录是第四条,依此类推

我正在使用以下查询获取数据:

SELECT A, B, C, D, E, F FROM MYTABLE WHERE A = 'SOMEPGM' ORDER BY F
如果你有重复的记录


为什么第一条记录会变成结果中的第三条记录?

您正在按“MGRSEQ”进行排序,但是有重复的
MGRSEQ
值的行;您需要指定另一列以获得一致的顺序。没有明确的订购依据条款的订购不受保证。

尝试以下方法:

SELECT "MGRROUT", "MGRTYP", "MGRRRN", "MGRNUM", "MGROPC", 
       "MGRVAR1", "MGRCOMP", "MGRVAR2", "MGREXC", "MGRSEQ", MGRCAT1 
FROM "XPGMLOGIC" WHERE "MGRPGM" = 'BARSCSLMS' 
ORDER BY "MGRSEQ", "MGRNUM" DESC

+1-同意。永远不要依赖SQL中的隐式排序,因为优化器可以自由地做任何它想做的事情(几乎可以)。是的。最糟糕的是,大多数DBMS在大多数情况下都会以插入顺序返回行,这反过来会导致依赖于此的软件随机失败。