SELECT * FROM emp WHERE (rowid,1) IN (SELECT rowid,mod(rownum,2) FROM emp);

1 User has rated as useful.
Login to rate this answer.
manish dudhe
Answered On : Oct 15th, 2007
--odd number query
SELECT *
FROM ( SELECT rownum rn, empno, ename
FROM emp
) temp
WHERE MOD(temp.rn,2) = 1
--even number query
SELECT *
FROM ( SELECT rownum rn, empno, ename
FROM emp
) temp
WHERE MOD(temp.rn,3) = 0
Login to rate this answer.
select count(*), rownum
from emps
group by rownum
having mod(rowmum,2) = 1
output:-
1 1
1 3
1 5
1 7
1 8
.
.
.
.
.

1 User has rated as useful.
Login to rate this answer.
select * from employeeswhere employee_id in (105,160,148,165,175,206);
Login to rate this answer.
Hi Guys,
You can use this query also
select * from employees where employee_id in (
select decode(mod(rownum,2),x,employee_id,null) emp_id from employees)
/
where x=0 for even records
where x=1 for odd records
Regards,
Snehasish
Login to rate this answer.
To Display even row numbers
---------------------------
select * from emp where (rowid,0) in (select rowid,mod(rownum,2) from emp )
To Display odd row numbers
---------------------------
select * from emp where (rowid,1) in (select rowid,mod(rownum,2) from emp )
Login to rate this answer.
SELECT * FROM (SELECT ROWNUM RN, FIRST_NAME FROM EMPLOYEES) TEMP WHERE MOD (TEMP.RN, 2)=1;
CHANGE LAST NUMBER 1 TO 0 FOR EVEN NUMBERED ROWS.
Basically, in this, I used a subquary and selected all rows where RN was holding ROWNUM values, then outer SELECT was used to check with MOD function.
Login to rate this answer.
select ename,job from(select mod(rownum,2) as odd,ename,job from emp) where odd=1;
odd rows are retrive
for even just replace as odd=0;
keep smiling(pavankumar_cherukuri@yahoo.com)
Login to rate this answer.
1* select * from (select employee_id,last_name,salary,rownum rn from employees ) where mod(rn,2) = 0
SQL> /
EMPLOYEE_ID LAST_NAME SALARY RN
----------- ------------------------- ---------- ----------
101 Kochhar 17000 2
103 Hunold 9000 4
107 Lorentz 4200 6
141 Rajs 3500 8
143 Matos 2600 10
149 Zlotkey 10500 12
176 Taylor 8600 14
200 Whalen 4400 16
202 Fay 6000 18
206 Gietz 8300 20
10 rows selected.
Login to rate this answer.
naveen reddy
Answered On : Aug 17th, 2011
for even rows:-
select ename,empno, job, rownum from emp group by ename ,rownum ,empno,job having mod(rownum,2)=0
for odd rows please replace '0' with 1 then u get odd rows:-
Login to rate this answer.
sukanta
Answered On : May 26th, 2012
select r, ename from(select rownum r,ename from emp) where mod(r,2)=1;

1 User has rated as useful.
Login to rate this answer.
@manish dudhe
Your answer for even number query is wrong. The correct query is
SELECT temp.r, employee_id, first_name, last_name
FROM (SELECT rownum as r, employee_id, first_name, last_name FROM employees) temp
WHERE MOD(r,2) = 0;
Login to rate this answer.
Bhaskara Vamsi
Answered On : Aug 15th, 2012
Code
SELECT * FROM emp WHERE ROWID IN (SELECT DECODE(MOD(ROWNUM,2),0,ROWID, NULL) FROM emp);
Login to rate this answer.
Nazeera JAffar
Answered On : Sep 30th, 2012
Answer
Code
SELECT rownum
FROM TABLE
GROUP BY rownum
HAVING mod(rownum,2)=0
Login to rate this answer.