Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle-sql查询,用于在没有数字数据类型列时打印奇数行_Sql_Oracle_Mod - Fatal编程技术网

Oracle-sql查询,用于在没有数字数据类型列时打印奇数行

Oracle-sql查询,用于在没有数字数据类型列时打印奇数行,sql,oracle,mod,Sql,Oracle,Mod,我试图从我的表中打印奇数行,而不借助数字克隆 当我尝试执行这个查询时,我只得到第一行 select * from emp3 where mod(rownum,2)=1; emp3是我的表名。 当我使用其中一个数值列代替rownum时,我得到了所需的输出 select * from emp3 where mod(eid,2)=1 order by eid; 其中,eid是表中的数字列。 但是如果我没有数字列,并且只想打印表中奇数行,该怎么办? 救救我 如果EID列不是数字,则使用数字。例如,R

我试图从我的表中打印奇数行,而不借助数字克隆

当我尝试执行这个查询时,我只得到第一行

select * from emp3 where mod(rownum,2)=1;
emp3是我的表名。 当我使用其中一个数值列代替rownum时,我得到了所需的输出

select * from emp3 where mod(eid,2)=1 order by eid;
其中,eid是表中的数字列。 但是如果我没有数字列,并且只想打印表中奇数行,该怎么办? 救救我

如果EID列不是数字,则使用数字。例如,ROW_NUMBER提供了这样的信息:

SQL> with temp as
  2    (select empno, ename, job sal,
  3       row_number() over (order by null) rn
  4     from emp
  5    )
  6  select *
  7  from temp
  8  where mod(rn, 2) = 1;

     EMPNO ENAME      SAL               RN
---------- ---------- --------- ----------
      7369 SMITH      CLERK              1
      7521 WARD       SALESMAN           3
      7654 MARTIN     SALESMAN           5
      7782 CLARK      MANAGER            7
      7839 KING       PRESIDENT          9
      7876 ADAMS      CLERK             11
      7902 FORD       ANALYST           13

7 rows selected.

SQL>
甚至您已经尝试使用的ROWNUM:

SQL> with temp as
  2    (select empno, ename, job sal,
  3       rownum rn
  4     from emp
  5    )
  6  select *
  7  from temp
  8  where mod(rn, 2) = 1;

     EMPNO ENAME      SAL               RN
---------- ---------- --------- ----------
      7369 SMITH      CLERK              1
      7521 WARD       SALESMAN           3
      7654 MARTIN     SALESMAN           5
      7782 CLARK      MANAGER            7
      7839 KING       PRESIDENT          9
      7876 ADAMS      CLERK             11
      7902 FORD       ANALYST           13

7 rows selected.

SQL>
如果EID列不是数字,则使用数字。例如,ROW_NUMBER提供了这样的信息:

SQL> with temp as
  2    (select empno, ename, job sal,
  3       row_number() over (order by null) rn
  4     from emp
  5    )
  6  select *
  7  from temp
  8  where mod(rn, 2) = 1;

     EMPNO ENAME      SAL               RN
---------- ---------- --------- ----------
      7369 SMITH      CLERK              1
      7521 WARD       SALESMAN           3
      7654 MARTIN     SALESMAN           5
      7782 CLARK      MANAGER            7
      7839 KING       PRESIDENT          9
      7876 ADAMS      CLERK             11
      7902 FORD       ANALYST           13

7 rows selected.

SQL>
甚至您已经尝试使用的ROWNUM:

SQL> with temp as
  2    (select empno, ename, job sal,
  3       rownum rn
  4     from emp
  5    )
  6  select *
  7  from temp
  8  where mod(rn, 2) = 1;

     EMPNO ENAME      SAL               RN
---------- ---------- --------- ----------
      7369 SMITH      CLERK              1
      7521 WARD       SALESMAN           3
      7654 MARTIN     SALESMAN           5
      7782 CLARK      MANAGER            7
      7839 KING       PRESIDENT          9
      7876 ADAMS      CLERK             11
      7902 FORD       ANALYST           13

7 rows selected.

SQL>

尝试执行下面的查询

select * from (select rownum rn ,column from column_name) where mod(rn,2) <> 0 

请参考此链接以更好地理解rownum的概念。请尝试执行以下查询

select * from (select rownum rn ,column from column_name) where mod(rn,2) <> 0 

请参考此链接以更好地理解rownum的概念,这没有多大意义。在关系数据库中,将行视为basked中的球。哪一个是奇怪的?你必须有能告诉你这些信息的东西。在您的篮子表中,它是EID列。那么,你为什么不使用它呢?@Littlefoot有时eid可能是数字和阿拉法比的混合体,那么我必须做什么呢?让我重新表述一下@Littlefoot的问题。假设您所有的id都是字母,而不是数字。没有其他包含数字的列。表中的奇数行和偶数行是什么意思?表中的行没有序号:这是第一行,这是第二行;这是第三次,这是第四次。问题是,如何定义奇数行?我举了几个例子说明在这种情况下可能会做什么。看一看拜托,这没什么意义。在关系数据库中,将行视为basked中的球。哪一个是奇怪的?你必须有能告诉你这些信息的东西。在您的篮子表中,它是EID列。那么,你为什么不使用它呢?@Littlefoot有时eid可能是数字和阿拉法比的混合体,那么我必须做什么呢?让我重新表述一下@Littlefoot的问题。假设您所有的id都是字母,而不是数字。没有其他包含数字的列。表中的奇数行和偶数行是什么意思?表中的行没有序号:这是第一行,这是第二行;这是第三次,这是第四次。问题是,如何定义奇数行?我举了几个例子说明在这种情况下可能会做什么。看一看拜托。我喜欢你关于奇数行的评论,没有比这个答案更有意义-我喜欢你关于奇数行的评论,没有比这个答案更有意义-