Tengo una tabla Quiero encontrar el primer y el último registro que satisfacen los criterios de un mes en particular.cómo encontrar el primer y último registro de la tabla mysql
Respuesta
¿Qué tal algo como:
select 'first', f1, f2, f3, f4 from tbl
order by f1 asc, f2 asc
limit 1
union all
select 'last', f1, f2, f3, f4 from tbl
order by f1 desc, f2 desc
limit 1
Obviamente agrega a cualquier condición que desee en una cláusula where
pero la premisa básica de la order by
es invertir el orden de las dos secciones select
.
La cláusula limit
obtendrá la primera fila en ambos casos. Esa es la última fila de del conjunto en el segundo select
debido al hecho de que ha invertido el orden.
Si solo hay una fila como resultado de sus condiciones y no desea que se devuelva dos veces, utilice union
en lugar de union all
.
¿Qué pasa con los paréntesis? –
@ Alexander, sí, los paréntesis son muy agradables, y tienen un flujo suave sobre ellos. También son muy atractivos si están equilibrados correctamente. Sin embargo, en realidad no son necesarios para que mi respuesta funcione, así que los voy a dejar fuera de la ecuación por ahora :-) – paxdiablo
Sin paréntesis Obtengo una excepción 'SQLSTATE [HY000]: Error general: 1221 Uso incorrecto de UNION y ORDER BY' –
Primero y último tienen sentido solo cuando el resultado de la consulta se ordena en un campo (s).
Para obtener el primer registro:
select col1 from tab1 order by col1 asc limit 1;
Para obtener el último registro:
select col1 from tab1 order by col1 desc limit 1;
select * from table
where id = (select id from tab1 order by col1 asc limit 1) or
id = (select id from tab1 order by col1 desc limit 1);
Los puntos y coma de sus subconsultas romperán esta declaración. – dangermark
SELECT
(SELECT column FROM table WHERE [condition] ORDER BY column LIMIT 1) as 'first',
(SELECT column FROM table WHERE [condition] ORDER BY column DESC LIMIT 1) as 'last'
Esto funcionó para mí cuando tenía que seleccionar primero y la última fecha en la serie de eventos.
SELECT * FROM (
SELECT first_name, LENGTH(first_name) FROM Employees
ORDER BY LENGTH(first_name) ASC
FETCH FIRST 1 rows ONLY)
UNION
SELECT * FROM (
SELECT first_name, LENGTH(first_name) FROM Employees
ORDER BY LENGTH(first_name) DESC
FETCH FIRST 1 rows ONLY)
ORDER BY 2 desc;
'FETCH FIRST' no es una sintaxis MySQL válida – FrankerZ
@FrankerZ: Gracias por señalar. Sí, el FETCH FIRST es para Oracle Sql. –
- 1. ¿Cómo recuperar el primer y último registro de un registro agrupado en una consulta MySQL con funciones agregadas?
- 2. MySQL recuperar el último registro para el grupo
- 3. Cómo seleccionar el último registro de la tabla MySQL utilizando la sintaxis SQL
- 4. Recuperar el último registro de la tabla de SQL Server
- 5. ¿Cómo obtener el primer y último registro de una consulta sql?
- 6. MYSQL Eliminar PRIMER duplicados de la tabla
- 7. ¿Cómo seleccionar el último registro de una tabla en SQL?
- 8. ¿Cómo suprimir último registro (la condición) de una tabla en MySQL
- 9. O escribe el primer registro o último registro de la lista, cualquier sugerencia para hacerlo bien
- 10. Primer y último día del mes actual
- 11. ¿Cómo eliminar el primer y último elemento de una lista?
- 12. PHP: Eliminar el primer y último elemento de la matriz
- 13. Cómo obtener el último registro
- 14. ¿Cómo obtener el último registro de Sqlite?
- 15. ¿Cómo obtengo el primer ID no utilizado en la tabla?
- 16. ¿Dónde puedo encontrar el registro de transacciones de MySQL?
- 17. Obtener el último registro de cada mes en MySQL ...?
- 18. cómo conseguir el primer día y el último día de la semana y el año número
- 19. borrar todo el registro de la tabla en mysql
- 20. GRUPO POR devolver el primer registro
- 21. Python verifique el primer y último índice de una lista
- 22. Strip primer y último carácter de la serie C
- 23. Azure Table Storage obtener el último registro
- 24. Obtener último registro de una tabla en Postgres
- 25. ¿Cómo eliminar el registro de la tabla?
- 26. DateTime.Now - primer y último minuto del día
- 27. Subconsulta de MySQL - Encuentra solo el primer registro en una UNIÓN IZQUIERDA
- 28. Obtener el primer y último ListItem en Sharepoint List
- 29. para eliminar el primer y último elemento del conjunto
- 30. php y mysql copiar registro de una tabla a otra
respuestas múltiples funcionan, por favor, seleccione una –