Sobes.tech
Middle

¿Cómo mostrar la dirección actual y el precio para cada anuncio en SQL?

sobes.tech AI

Respuesta de la IA

Para mostrar la dirección y el precio actuales de cada anuncio en SQL, es necesario definir qué significa "actual" — generalmente, la última entrada por fecha o por versión para cada anuncio.

Supongamos que hay una tabla ads con columnas: ad_id, address, price, updated_at.

Ejemplo de consulta que para cada anuncio selecciona la entrada con la fecha de actualización máxima:

SELECT ad_id, address, price
FROM ads a
WHERE updated_at = (
    SELECT MAX(updated_at)
    FROM ads
    WHERE ad_id = a.ad_id
);

Si la base de datos soporta funciones de ventana, se puede usar:

SELECT ad_id, address, price
FROM (
    SELECT *, ROW_NUMBER() OVER (PARTITION BY ad_id ORDER BY updated_at DESC) as rn
    FROM ads
) sub
WHERE rn = 1;

Esto permitirá obtener para cada anuncio la dirección y el precio más recientes.