¿Cómo hacer una consulta SQL para la última transacción de cada cuenta?
Digamos que tengo una tabla "transacciones" que tiene columnas "acct_id" "trans_date" y "trans_type" y quiero filtrar esta tabla para tener la última transacción para cada cuenta. Claramente podría hacer algo como
SELECT acct_id, max(trans_date) as trans_date
FROM transactions GROUP BY acct_id;
Pero luego pierdo mi trans_type. Luego podría hacer una segunda llamada a SQL con mi lista de fechas e identificadores de cuenta y recuperar mi tipo de trans, pero eso es muy confuso, ya que significa enviar datos de un lado a otro al servidor SQL o crear una tabla temporal.
¿Hay alguna manera de hacer esto con una sola consulta, ojalá un método genérico que funcione con mysql, postgres, sql-server y oracle.