sql-server-2008 - valores - operadores sql y ejemplos
¿Cómo mostrar solo filas pares o impares en el servidor SQL 2008? (12)
Aquí hay una respuesta simple y directa a su pregunta, (creo). Estoy utilizando la base de datos de muestra TSQL2012 y solo estoy devolviendo filas pares o impares en función de "employeeID" en la tabla "HR.Employees"
USE TSQL2012;
GO
Solo se devuelven números pares del ID de empleado:
SELECT *
FROM HR.Employees
WHERE (empid % 2) = 0;
GO
Devuelva solo los números impares del ID de empleado:
SELECT *
FROM HR.Employees
WHERE (empid % 2) = 1;
GO
Con suerte, esa es la respuesta que estabas buscando.
Tengo una tabla MEN en el servidor SQL 2008 que contiene 150 filas.
¿Cómo puedo mostrar solo las filas pares o impares?
gracias por adelantado
Echa un vistazo a ROW_NUMBER()
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
Intenta seguir
SELECT * FROM Worker WHERE MOD (WORKER_ID, 2) <> 0;
Lo siguiente es para obtener el número par :: Seleccione * de MEN donde men_ID% 2 = 0;
Lo siguiente es para obtener el número impar :: Seleccione * de MEN donde Men_ID% 2! = 0;
Aquí MEN es su nombre de tabla Men_ID es la columna en la tabla MEN.
MÁS RÁPIDO: Bitwise en lugar de módulo.
select * from MEN where (id&1)=0;
Pregunta aleatoria: ¿Realmente utilizas nombres de tablas en mayúsculas? Por lo general, las mayúsculas están reservadas para las palabras clave. (Por convención)
Para valores pares registre:
seleccione * desde www donde mod (salario, 2) = 0;
Para registro de valores impares:
seleccione * desde www donde mod (salario, 2)! = 0;
Prueba esto :
impar :
select * from(
SELECT col1, col2, ROW_NUMBER() OVER(ORDER BY col1 DESC) AS ''RowNumber'',
FROM table1
) d where (RowNumber % 2) = 1
incluso
select * from(
SELECT col1, col2, ROW_NUMBER() OVER(ORDER BY col1 DESC) AS ''RowNumber'',
FROM table1
) d where (RowNumber % 2) = 0
Suponiendo que su tabla tiene el campo auto-numerado "RowID" y desea seleccionar solo los registros donde RowID es par o impar.
Para mostrar impar:
Select * from MEN where (RowID % 2) = 1
Para mostrar incluso:
Select * from MEN where (RowID % 2) = 0
consulta de número impar:
SELECT *
FROM ( SELECT rownum rn, empno, ename
FROM emp
) temp
WHERE MOD(temp.rn,2) = 1
consulta de número par:
SELECT *
FROM ( SELECT rownum rn, empno, ename
FROM emp
) temp
WHERE MOD(temp.rn,3) = 0
SELECT *
FROM
(
SELECT rownum rn, empno, ename
FROM emp
) temp
WHERE MOD(temp.rn,2) = 1
select * from Tablename
where id%2=0
SELECT * FROM (SELECT ROW_NUMBER () OVER (ORDER BY sal DESC) row_number, sr,sal FROM empsal) a WHERE (row_number%2) = 1
y
SELECT * FROM (SELECT ROW_NUMBER () OVER (ORDER BY sal DESC) row_number, sr,sal FROM empsal) a WHERE (row_number%2) = 0