Mat*_*ted 21
SELECT t.First, t.Last
FROM (
SELECT *, Row_Number() OVER(ORDER BY First, Last) AS RowNumber
--Row_Number() starts with 1
FROM Table1
) t
WHERE t.RowNumber % 2 = 0 --Even
--WHERE t.RowNumber % 2 = 1 --Odd
Run Code Online (Sandbox Code Playgroud)
z-b*_*oss 14
假设您的表具有自动编号字段"RowID",并且您只想选择RowID为偶数或奇数的记录.
显示奇怪:
Select * from MEN where (RowID % 2) = 1
Run Code Online (Sandbox Code Playgroud)
甚至显示:
Select * from MEN where (RowID % 2) = 0
Run Code Online (Sandbox Code Playgroud)
小智 5
更快:按位代替模数。
select * from MEN where (id&1)=0;
Run Code Online (Sandbox Code Playgroud)
随机问题:您实际上使用大写的表名吗?通常大写保留给关键字。(按照惯例)
小智 5
奇数查询:
SELECT *
FROM ( SELECT rownum rn, empno, ename
FROM emp
) temp
WHERE MOD(temp.rn,2) = 1
Run Code Online (Sandbox Code Playgroud)
偶数查询:
SELECT *
FROM ( SELECT rownum rn, empno, ename
FROM emp
) temp
WHERE MOD(temp.rn,3) = 0
Run Code Online (Sandbox Code Playgroud)