Gebruik een seed voor de generator van willekeurige getallen op basis van de huidige datum:
ORDER BY RAND(20120714) LIMIT 1
Ik ben ook benieuwd wat je hier bedoelde met "andere":
Als u een andere . wilt selecteren willekeurige quote elke dag, dan moet je geen simpele ORDER BY RAND(seed)
gebruiken . Dit kan drie dagen op rij dezelfde quote opleveren.
Als u dit wilt voorkomen, kunt u in plaats daarvan opslaan welke koers voor elke dag is geselecteerd en een willekeurige koers kiezen uit de koersen die de afgelopen n dagen niet zijn gebruikt. Als u opslaat wanneer een offerte voor het laatst is gebruikt, is er natuurlijk ook een natuurlijke oplossing voor uw oorspronkelijke probleem:
- Zoek naar een citaat dat vandaag voor het laatst is gebruikt.
- Als er een is, is dat de quote van de dag.
- Zo niet, selecteer dan een nieuw citaat van de dag uit rijen die de afgelopen n dagen niet zijn gebruikt, en werk de rij bij om aan te tonen dat het het citaat van de dag voor vandaag is.
Oké, wat dacht je van een iets andere aanpak:
ORDER BY RAND(201207) LIMIT 14, 1
-- yyyymm dd
Nu heb je geen extra kolom meer nodig en krijg je geen herhalingen, behalve misschien als de maand verandert. Deze oplossing gaat ervan uit dat je minimaal 32 offertes hebt om uit te kiezen.