¿Cómo obtener resultados máximos de una consulta SQL?
Tengo una consulta muy simple y estoy atascado tratando de filtrar solo el MAX(b.id):
SELECT
A.id,
b.id
FROM emp A
JOIN ACS B
ON B.id = A.id
AND A.id = 1553
En la tabla B, tenemos tres filas para A.ID. Necesito obtener solo el número más alto. Intenté usar “MAX(B.ID)” pero no funcionó.
Estos son los resultados:
[
{
"rownumber": 1,
"A.id": 1553,
"b.id": 749
},
{
"rownumber": 2,
"A.id": 1553,
"b.id": 4356
},
{
"rownumber": 3,
"A.id": 1553,
"b.id": 4661
}
]
Solo necesito devolver el MAX(b.ID). En este caso, solo necesito:
{
"rownumber": 3,
"emp_id": 1553,
"id": 4661
}
Eliminaré A.id de la selección del filtro y para cada fila en A solo necesito el MAX de B.
¡Gracias de antemano!
¿Cuál es la mejor manera de hacerlo?
davy.ai
Para filtrar solo el MAX(b.id) para cada A.id, puede utilizar una subconsulta para seleccionar el MAX(b.id) para cada A.id y luego unirlo nuevamente a la consulta original. Aquí hay un ejemplo de consulta:
Esto devolverá solo la fila con el id más alto para A.id=1553:
Al utilizar una subconsulta para encontrar el id más alto para cada A.id, puede luego unirlo nuevamente a la consulta original para filtrar las demás filas.