я могу легко получить случайную запись с этим:Sql Server 2005: Сегодняшние случайные записи
SELECT * FROM MyTable ORDER BY NewId()
Я могу легко получить запись с «сегодняшнего дня» с этим:
SELECT * FROM MyTable WHERE MyDate = "2010-24-08" -- db doesn't store times
Но как я бы скомбинировал их?
Получить 1 случайную запись ... с сегодняшней датой.
Если ни один не найден, получите 1 случайную запись со вчерашнего дня (сегодня-1).
Если никто не нашел ... получить 1 случайную запись из т.д., и т.д., сегодня-2
... до 1 запись найдена.
Лучшая реализация того, что я собирался делать. – DForck42
Что делать, если в таблице не упоминается запись «2010-24-08», как указано в вопросе. – Kashif
@Muhammad Kashif Nadeem: Нет строк - 'TOP', как MySQL и PostgreSQL' LIMIT', только ограничивает количество строк, возвращенных из resulset. –