我正在使用Oracle 11g
并且有一个复杂的联接查询。在此查询中,我确实想应用OFFSET
并有效地LIMIT
使用它Spring BatchFramework
。
但是事情对我来说不是很清楚。
我的查询
SELECT DEPT.ID rowobjid, DEPT.CREATOR createdby, DEPT.CREATE_DATE createddate, DEPT.UPDATED_BY updatedby, DEPT.LAST_UPDATE_DATE updateddate,
DEPT.NAME name, DEPT.STATUS status, statusT.DESCR statusdesc,
REL.ROWID_DEPT1 rowidDEPT1, REL.ROWID_DEPT2 rowidDEPT2, DEPT2.DEPT_FROM_VAL parentcid, DEPT2.NAME parentname
FROM TEST.DEPT_TABLE DEPT
LEFT JOIN TEST.STATUS_TABLE statusT ON DEPT.STATUS = statusT.STATUS
LEFT JOIN TEST.C_REL_DEPT rel ON DEPT.ID=REL.ROWID_DEPT2
LEFT JOIN TEST.DEPT_TABLE DEPT2 ON REL.ROWID_DEPT1=DEPT2.ID
ORDER BY rowobjid asc;
上面的查询给了我一千万条记录。
注意:这两个html" target="_blank">数据库表都没有PK,因此我需要使用OFFSET和LIMIT。
您可以ROW_NUMBER()
在甲骨文的子查询中使用Analytic函数,例如,11g
假设需要将行排列在第3到第8之间,以便捕获OFFSET 3LIMIT 8
Oracle DB中的逻辑(
实际上,这些子句包含在版本中12c+
),只要将结果分组即可由部门的CREATE_DATE
命令ID
:
SELECT q.*
FROM (SELECT DEPT.ID rowobjid,
DEPT.CREATOR createdby,
DEPT.CREATE_DATE createddate,
DEPT.UPDATED_BY updatedby,
DEPT.LAST_UPDATE_DATE updateddate,
DEPT.NAME name,
DEPT.STATUS status,
statusT.DESCR statusdesc,
REL.ROWID_DEPT1 rowidDEPT1,
REL.ROWID_DEPT2 rowidDEPT2,
DEPT2.DEPT_FROM_VAL parentcid,
DEPT2.NAME parentname,
ROW_NUMBER() OVER (PARTITION BY DEPT.CREATE_DATE ORDER BY DEPT.ID) AS rn
FROM TEST.DEPT_TABLE DEPT
LEFT JOIN TEST.STATUS_TABLE statusT
ON DEPT.STATUS = statusT.STATUS
LEFT JOIN TEST.C_REL_DEPT rel
ON DEPT.ID = REL.ROWID_DEPT2
LEFT JOIN TEST.DEPT_TABLE DEPT2
ON REL.ROWID_DEPT1 = DEPT2.ID) q
WHERE rn BETWEEN 3 AND 8;
恰好会返回 6 (8-3 +1)行。如果您需要包括关系(每个创建日期部门标识的值相等),ROW_NUMBER()
则应将其替换为另一个窗口函数DENSE_RANK()
,因为查询的所有其他部分均保持不变。
在 这种情况下,将 至少 返回 6 条记录。
问题内容: 我正在将MS-Access 2003与查询创建者一起使用。我从一个表()中选择所有内容,然后从另一表()中选择一个特定行()。我想从第二个表中选择另一行并将其连接起来。 查询 该查询的确在ID(字段)与where匹配的地方添加了字段。它像一种魅力。但是,我想在结果中添加另一行。我想获得行所在的位置(该部分实际上在工作)和行所在的位置。我将得到2行,并且当我要求()时,我希望将这两行连接
如何将这个复杂的sql语句更改为JPQL? 这是否可以在JPQL表单中显示?
问题内容: 我想我正在解决这个问题,但是遇到了另一个障碍,并且不知道如何解决它 此查询有什么问题- 只需获取通用的“您有一个错误”,它指向联接,但我不知道如何解决它。我想要对customer_address_entity进行联接,因为它具有我需要在其中一条select语句中使用的另一个唯一ID。 问题答案: 首先,您的代码如下所示: 很明显,您在FROM之前有JOIN。 其次,您有一个带有unic
问题内容: 我正在寻找一种在REST API中为搜索查询建模的可靠方法。 在我的api中,您可以使用查询参数在资源的URI中指定搜索条件。 例如: 在服务器端,搜索字符串映射到所需的基础技术。根据其余资源,这可以是一个SQL查询,Hibernate Criteria api,另一个Web服务调用,… 这两个示例很简单,足以支持,但是我还需要更复杂的搜索功能,例如子字符串搜索,日期前后的搜索,NOT
我对Kafka的溪流很陌生。我想执行以下KStream-GlobalKTable纯基于DSL的左联接操作,而不使用map操作。 和另一个输入主题,它是 ,其中value: 我要执行左联接操作是一个流,主数据是一个全局表,以实现结果值为 连接条件为 代码:
问题内容: 我有以下JS对象: 我需要在上述对象上执行此SQL查询: 结果应为: 因为只有该组包含在查询中使用的两个ID。 我找到了有关SQLike和JSLINQ的信息,但是我 在哪里 以及 有 表达式时遇到了问题。是否有可能使用SQL-JS库或JS / jQuery本身(编写函数等)在javascript对象上执行此类查询? 问题答案: Alasql JavaScript SQL库是专门为此类任