sql >> Database >  >> RDS >> PostgreSQL

Het selecteren van rijen geordend op een kolom en verschillend op een andere

Een duidelijke vraag :)

SELECT t1.* FROM purchases t1
LEFT JOIN purchases t2
ON t1.address_id = t2.address_id AND t1.purchased_at < t2.purchased_at
WHERE t2.purchased_at IS NULL
ORDER BY t1.purchased_at DESC

En hoogstwaarschijnlijk een snellere aanpak:

SELECT t1.* FROM purchases t1
JOIN (
    SELECT address_id, max(purchased_at) max_purchased_at
    FROM purchases
    GROUP BY address_id
) t2
ON t1.address_id = t2.address_id AND t1.purchased_at = t2.max_purchased_at
ORDER BY t1.purchased_at DESC


  1. Is er een manier om de JBoss-verbindingspool opnieuw te verbinden met Oracle wanneer de verbindingen slecht worden?

  2. Samenvoegen..output gebruiken om toewijzing te krijgen tussen source.id en target.id

  3. Query's met outer joins werken anders in Oracle 12c

  4. Een testomgeving maken vanuit een productierepository