oracle排序字段为空分页出现数据重复???

首先,我是相信oracle的,这个产品我任务不会出现这么低级的错误。

先看sql,其中 FLOORS有部分数据为空。


	SELECT
		*
	FROM
		STORAGE
	WHERE
		ACCOUNT_ID = '10001003'
	AND LOCATION_NO = 'D1-2-9-5'
	AND BILL_STATUS = '1'
	AND QTY > 0
	ORDER BY   FLOORS DESC

开发兄弟反应这个sql出现了后面大约8页后存在部分数据重复的问题。

我给开发兄弟说的,不可能。于是写了下面的分页,逐页确认了没有问题。

SELECT
	*
FROM
	(
		SELECT
			mypager.*, rownum AS rnum
		FROM
			(
				SELECT
					*
				FROM
					STORAGE
				WHERE
					ACCOUNT_ID = '10001003'
				AND LOCATION_NO = 'D1-2-9-5'
				AND BILL_STATUS = '1'
				AND QTY > 0
				ORDER BY
					FLOORS DESC
			) mypager
		WHERE
			rownum <= 10 * 10
	)
WHERE
	rnum > 10 * (10 - 1)

开发兄弟说,我的分页跟开发平台的不一致。我坐等这个奇怪的问题分页sql。但是我觉得有一种可能就是故意为之。互联网产品有些会把上一页最后一条数据显示在本页第一条,让阅读者有分页过度的感觉。先这样分析,坐等了只能。

你可能感兴趣的:(db,oracle,排序,分页,重复,为空)