Utilice una semilla para el generador de números aleatorios en función de la fecha actual:
ORDER BY RAND(20120714) LIMIT 1
También tengo curiosidad sobre lo que quiso decir con "otro" aquí:
Si desea seleccionar un diferente cotización aleatoria cada día, entonces no debería usar un simple ORDER BY RAND(seed)
. Esto podría devolver la misma cotización tres días seguidos.
Si desea evitar que esto suceda, puede almacenar qué cotización se selecciona para cada día y elegir una cotización aleatoria de las que no se han utilizado en los últimos n días. Por supuesto, si está almacenando cuándo se usó por última vez una cotización, también hay una solución natural para su problema original:
- Busque una cita que se usó por última vez hoy.
- Si hay una, esa es la cita del día.
- Si no es así, seleccione una nueva cotización del día de las filas que no se han utilizado en los últimos n días y actualice la fila para mostrar que es la cotización del día de hoy.
Bien, ¿qué tal un enfoque ligeramente diferente?
ORDER BY RAND(201207) LIMIT 14, 1
-- yyyymm dd
Ahora no necesita una columna adicional y no obtendrá repeticiones, excepto quizás cuando cambie el mes. Esta solución asume que tiene al menos 32 cotizaciones para elegir.