¿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.

Respuestas a la pregunta(4)

Su respuesta a la pregunta