comparar¿por qué esta consulta devuelve una fila con nulos
SELECT distinct u_id,timestamp as time
FROM my_table;
y
SELECT distinct u_id,max(timestamp) as time
FROM my_table;
Cuando mi tabla tiene ninguna fila en absoluto (o si añado una cláusula where que coincide con ninguna fila):
El primero devuelve un conjunto de resultados vacío (que es lo que espero) mientras que el último devuelve una sola fila que tiene nulo como valor para ambos campos.
¿Puede alguien explicarme por qué la segunda actúa como lo hace?
Esto es técnicamente solo la mitad de la respuesta - la otra mitad es la ausencia de la cláusula group-by en el segundo al usar funciones agregadas mezcladas con no agregados, por lo que el u_id es 'NULL' – tobyodavies