Seleccione los 3 registros más recientes donde los valores de una columna son distintos
Tengo la siguiente tabla:
id time text otheridentifier
-------------------------------------------
1 6 apple 4
2 7 orange 4
3 8 banana 3
4 9 pear 3
5 10 grape 2
o que quiero hacer es seleccionar los 3 registros más recientes (por tiempo desc), cuyaotheridentifier
as @ son distintas. Entonces, en este caso, el resultado seríaid
's: 5, 4 y 2.
id
= 3 se omitiría porque hay un registro más reciente con la mismaotheridentifier
campo.
Esto es lo que intenté hacer:
SELECT * FROM `table` GROUP BY (`otheridentifier`) ORDER BY `time` DESC LIMIT 3
Sin embargo, termino obteniendo filas deid
= 5,3 y1 en lugar de 5, 4, 2 como se esperaba.
¿Alguien puede decirme por qué esta consulta no devuelve lo que esperaba? Intenté cambiar ORDER BY a ASC pero esto simplemente reorganiza las filas devueltas a 1, 3, 5.